[APP][4.1+] Horario | v0.2.1 - Android Apps and Games

Horario
Open Source Android app
Are you a student?
Horario is an open source app for managing your school or university life. Save your timetable and all tasks from homework to exams. Invite your group mates to collaborate.
Code:
Copyright (C) 2017 XJSHQ at github
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
Android: 4.1+ (Android 5+ is recommended)

This is actually beta and contains almost no features except sharing.

Is it the right repo?

Exactly that I looking for.

Next version is going to be a major one and will change a lot (and break a lot too).
Primokorn said:
Is it the right repo?
Click to expand...
Click to collapse
Yes, but more likely you want https://github.com/XJSHQ/horario this one

Related

DroidActivator - the Open Source anti-piracy system

Hi,
We have developed a new, effective licensing control system for Android called DroidActivator.
It's intended to block piracy and also gives you some interesting opportunities, as licensing your app with an annual renewal fee, apply a subscription model to sell features or contents, protect your app outside GooglePlay, acquire device data, track custom events and more.
It is an Open Source project licensed under LGPL.
You can take a look at the Google Code Project Page (code.google.com/p/droidactivator) and to the project web site ([www].droidactivator.org)
Hope it can help the community!
Have a nice day,
The DroidActivator developers team.
Not quite sure what the point of an open source anti-piracy app. It just allows people to tinker with it and thus bypass it.
A protection system should not rely on hiding its code to be effective.
Any protection can be defeated by a determined pirate.
It's just a matter of making life harder.
algos-dev said:
A protection system should not relay on hiding its code to be effective.
Any protection can be defeated by a determined pirate.
It's just a matter of making life harder.
Click to expand...
Click to collapse
Isn't open source making it easier?
This is an interesting topic.
You are right lambstone: looking at the source can help you cracking the code.
But in my opinion, the point is in the targeted audience.
An open source protection would not be suited for the new angry-birds-whatever but it would be for your medium/high-priced business app.
We have just no technology to avoid piracy. If the app is interesting enough, the pirate will decompile the app, remove the protection, repackage it and share it on the web. In this scenario, if the pirate got helped by looking at the code or struggled a bit more on the binaries doesn't matter so much.
We are not willing to fight this kind of piracy. We just wanted to build a tool to help small software houses to fight "casual" piracy (folks who won't search for and use the crack, but won't hesitate violating the EULA in the absence of technical license protection mechanism) which represents the vast majority of piracy.
lambstone said:
Isn't open source making it easier?
Click to expand...
Click to collapse
It cuts both ways: more people reviewing the code means that it can be made harder to crack.
Security through obscurity
DroidActivator anti-piracy system updated
DroidActivator, the Open Source anti-piracy system for Android, has been updated.
The backend now features searching in activations and events and generates activation codes automatically. The GUI has also been restyled using CSS.
If you are interested, have a look at the Google Code project page [code.google.com/p/droidactivator] or at DroidActivator's web site [3w.droidactivator.org]
Thank You,
DroidActivator's development team

How to pick an open source license

You've made the decision to release your code as "open source". Ok, what does that mean, what is an open source license, and how do you pick the right one? This question comes up all the time so I thought I'd write up a simple decision tree to try to explain the choices.Many people use GPL without realizing the implications or understanding the other options. This isn't legal advice, and I'm not a lawyer, and I'm probably over-simplifying some of the points, but I hope you find it helpful.
First of all, if you write some code, it's your code and you get to decide how other people can use it. Period. Nobody but you can say how your code can be used, either by putting restrictions on it or taking them off, without your permission. That's a very important point to keep in mind while reading this article.
The second point to keep in mind is that nobody but you can even use your code unless you explicitly give them permission. Another way of saying this is that all source code is closed and proprietary and off limits until you, the author, open it.
Note: The text of all the licenses mentioned here can be found at opensource.org.
Decision 1: Do you want to relinquish any control over how your code is used and distributed?
If yes, then don't copyright it, and don't license it. Put it in the public domain, and you're done. This is a good choice for examples, templates, and other illustrative code where the whole point is that you want everybody to feel free to use what you've written. [Alert readers pointed out that "public domain" is is not a good choice because in many jurisdictions you can't give up your copyright. Use a liberal license like MIT/BSD instead. -22jun/ebb] Example: code listings in a book or article.
If no, then Copyright the code (paste copyright notices all over it) and continue with decision 2.
Hint: Just to make sure your intent is clear, either put in explicit copyright notices, or put in explicit notices that the code is in the public domain. Copyright is how you retain control. Without a copyright, there is no control. [Technically the notices might not be necessary but they don't hurt and are still recommended. -22jun/ebb]
Decision 2: Do you want to allow people to use your code in non open-source programs?
If yes, then continue to decision 3.
If no, then release your code under the GPL, a restrictive "free (libre) software" license that actively promotes user choice at the expense of direct commercial interests. For the most part, GPL'd code can only be used with other GPL'd code, and in fact if you start using [and distributing -22jun/ebb] some GPL code in a program you wrote then you either have to release your program under GPL as well or quit using that code. This is why GPL is sometimes described as "viral". Examples: Emacs, Linux kernel.
Hint: Don't take this choice unless you really mean it. Many people use GPL without realizing the implications or understanding the other options, and thus lock the code away from a whole segment of potential users, so please read the rest of the choices first.
Decision 3: If somebody uses your code in their program and sells their program for money, do you want some of that money?
If yes, then you have two choices. The first choice (3a) is not to release it as open source at all, i.e., use closed source and you're done. This would preclude anyone from using your code in free (no cost) packages. And it would only allow people to use your code in commercial programs if they came to your first and worked out a deal for a commercial license. Note that even if the source is "closed" you can give permission if you like for certain people to have access to the source and use it in limited ways. Example: Microsoft Windows, Sun Java (sort of).
The second choice (3b) is dual license. I'll talk about licenses more in a moment, but dual license just means you give permission for people to use your code under two or more licenses. You pick one license (probably GPL) for free (no cost) programs, and one for commercial ($$$) programs. This is a good choice if you're trying to make a living off licensing fees for the code itself. Examples: MySQL, JBoss, SleepyCat. Continue to decision 4.
If no, then give permission for others to use your code under one or more "commercial friendly" licenses. This is a good choice if you want your code to get into as many hands as possible and either you don't care about the money or you plan to make money in other ways, for example by selling your own programs that use the code or from consulting or support. Examples: Apache HTTPD, Eclipse, Firefox. Continue to decision 4.
Decision 4: If somebody uses [and distributes -22jun/ebb] your code and improves it (fixes bugs or adds features) do you want to make them give you the improvements back so you can use them too?
If yes, then use a "reciprocal" license. Any modifications to your code need to be made available under the same licensing terms as your original code. This is useful if you're worried somebody will take your code and go off on their own private "fork". Examples: Eclipse (EPL), Solaris (CDDL), and Firefox (MPL). Done.
If no, then use a non-reciprocal license. Often times the people using your code will send back improvements anyway, especially if you have a history of frequent releases and they get tired of having to re-merge in their changes every time. This is the most wide open type of license so it will get you the most exposure and users, but it can also relegate the original writer(s) to the sidelines. Example: FreeBSD (BSD). Done.
In a follow-up article I'll explain how the most commonly used open source licenses fall in the categories like "commercial friendly" and "reciprocal", and address any concerns raised by commenters. So whether you agree or disagree with my points above please give me some feedback in the talkback section.

[Guide][Video Tutorial] How to build Custom ROMs and Kernels![10,P,O,N,M,L]

Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Praise God! Finally a video tutorial of how to build Android and modify kernels!​I have created a video tutorial and guide for how to compile Android, TWRP, alternative recoveries, and MORE! From Lollipop through Marshmallow, Nougat, Oreo, and now Pie! The video series covers several different phones, from Motorola's to LG's, the emulator, kernel and rom editing, app source code editing, smartwatches and much more! Not only do we cover how to compile from source code, you get to see it in action, as well as learning how to upgrade a device from one version to another, building device trees from scratch, and using GitHub and GitLab!
Who is this video series for?
Well, this video tutorial is a step by step guide built primarily for the beginner to intermediate builder. This is written for those who already know how to flash TWRP, CWM, or the like, and who have installed a custom rom before. This is designed to help those who are ready to move up from flashing and installing other peoples custom roms to actually start making their own custom roms. I recommend that a beginner watch the entire playlists in order (the videos are marked).
That said, I believe that an intermediate developer may find a useful trick here and there, and they should just skip ahead to videos of interest. Perhaps kernel development, or something along those lines.
An advanced rom or kernel developer will probably far exceed my feeble abilities, and will not likely find much useful information here. Perhaps if you are an advanced developer, you would consider continuing the tutorial or making an advanced video series! (See further posts for recommendations on contributing videos.)
Why did you put this together?
Well, after building roms for several different devices, I started receiving requests from users who wanted to start building their own roms, but didn't know where to start. I didn't have enough time to answer everyone's questions, so I wrote a few guides and pointed others to guides that were already available, but there are some things that you just need to see to understand. Hence, the video tutorial. I just hope that someone finds it useful.
This course was written in order! While Lollipop and Marshmallow are old by todays standards, there is still good learning value in building them, and there are topics covered there that really make them worth watching.
What's in the videos?
During the series, we will be building for the emulator, as well as over 5 different phones of various brands, and over 5 different roms. I hope that this will give the viewer a good idea of how to build for your own specific phone as you see the differences and similarities across the phones and custom roms.
Code:
+ Ubuntu installation
+ Java installations
+ Using Git, GitHub, GitKraken, and the command line
+ Fastboot and ADB
+ Heimdall/Odin
+ QFIL, QPST, SALT, and other tools
+ AOSP, OmniRom, LineageOS, SlimRoms, PACrom, AOKP, AOSCP
+ Lollipop, Marshmallow, Nougat, Oreo, Pie
+ TWRP with OMNI or LineageOS
+ TWRP alternatives like Orange Fox and Red Wolf
+ Errors
+ Overclocking CPU/GPU
+ Adding Governors and I/O Schedulers
+ Sound modifications
+ Changing app colors, text, and icons
+ Adding prebuilt apps
+ Adding source code
+ Converting device from one rom to another
+ Upgrading from one version to another
+ Building device trees from scratch
+ Smart watches
+ Making apps
+ AND MORE!
**** This is an UNOFFICIAL TUTORIAL. Use at your own risk! ****
Now including more than 37 total hours in over 290 videos!​
New HD videos are coming out just about every week day on YouTube, and posted to my GitLab as well! There are playlists for everything, so be sure to check them out!
Downloads!
My GitLab: https://gitlab.com/alaskalinuxuser
Youtube links:
My YouTube Channel: http://www.youtube.com/c/AlaskaLinuxUserAKLU
About the author:
I'm not a professional Android builder, nor am I considered an expert. However, I have built a lot of custom roms over the years for various Android phones. I'm really just a simple guy whose hobbies include the Bible, cell phones, Android, Linux, and electronics.
Below are a few of my previous and current Android projects.
Code:
Samsung Galaxy S4:
-AOKP 7.1.2
-SlimRoms 7.1.1
-Resurection Remix 7.1
-AOKP 6.0.1
-PacRom 6.0.1
-Resurection Remix 6.0.1
-SlimRoms 5.1.1
-AKLU kernels
for Lollipop, Marshmallow, and Nougat
Samsung Galaxy S5:
-AOKP 7.1.2
-AKLU kernel for Nougat
Samsung Galaxy Note Edge:
-AOKP 7.1.2
-SlimRoms 7.1.1
-AOKP 6.0.1
-PacRom 6.0.1
-SlimRoms 6.0.1
-DataZip for 6.0.1 bootloaders
-AKLU kernel
for Marshmallow and Nougat
LG G4:
-AOKP 7.1.2
-SlimRoms 7.1.1
-AKLU kernel for Nougat
-Assisted Suicide Squirrels with the AOSCP Oreo bringup
Open Source Apps: (All listed below are under the Apache 2.0 license)
-Critical Velocity - A side scrolling flappy bird space game.
-Kppd Control - An app to control the kppd daemon and kernels that enable it.
-S4 GPU Voltage Control - An app to adjust the voltage of the S4 GPU on the fly.
-Hourglass - A simple timer application.
-Just Notes - A simple note taking app.
-Just Craigslist - A simple Craigslist app.
-Ship Captain and Crew - A dice game.
I have also assisted with open source projects by submitting code to SatStat, Easer, SlimRoms 6.0.1 for the Samsung Galaxy J5, and others. I once even turned a Samsung Captivate Glide into a Debian Computer, as well as making numerous how-to guides for compiling ROMs and app creation on both XDA and my website.
Some of my non-Android projects include building a Bluetooth Autostart, creating several small C++ games with SFML, and working with Linux.
My Wordpress: https://thealaskalinuxuser.wordpress.com
My Website: https://thealaskalinuxuser.com
My device and kernel trees (older - GitHub) : https://github.com/alaskalinuxuser/
My device and kernel trees (newer - GitLab) : https://gitlab.com/alaskalinuxuser/
Created 2018-07-09
Last Updated 2019-03-18
Open Source License
Hey everyone, well, the video says it best, so here it is:
https://www.youtube.com/watch?v=fKSiVL7nIqM
Essentially, due to changes in my schedule and work, I'll be hanging up the gloves on the video tutorial series.
Feel free to watch through any of these videos though, as there is still a lot of material. This thread will also stay open for people to ask questions and discuss the videos, however, my involvement in answering those questions is going to come to an end.
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
This project is licensed under the Creative Commons Attribution 4.0.
https://creativecommons.org/licenses/by/4.0/
I'm big into sharing! That means that this video tutorial is open source! Here's the official license if you need it:
Code:
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
Hey everyone, well, the video says it best, so here it is:
https://www.youtube.com/watch?v=fKSiVL7nIqM
Essentially, due to changes in my schedule and work, I'll be hanging up the gloves on the video tutorial series.
Feel free to watch through any of these videos though, as there is still a lot of material. This thread will also stay open for people to ask questions and discuss the videos, however, my involvement in answering those questions is going to come to an end.
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
Notes:
Recording Quality
Just a quick note about the recording quality. There are two main video threads, the HD videos, and the non-HD videos.
For the HD videos:
New videos out in HD! I'm working on ways to improve the audio/video quality, but these videos are now released in 720p or 1080p quality depending which computer I use at the time. Be sure to check out these higher quality videos, and I am slowly remaking the older non-HD videos in HD as well (time and resources permitting).
For the non-HD videos:
I apologize that it is rather low. Several of the recordings were done over Xvnc, so there is sometimes lag in the video. Also, I have really slow speed and limited data internet (internet is expensive here), so I turned down the recording quality a bit so I could record the several hours of video. That said, the original recordings were done in ogg vorbis, then converted to mp4, and those were uploaded to Youtube. So there is a little bit of loss along the way, but even the ogg vobis recordings were not the highest quality. Do keep in mind that the Youtube quality is lower than the downloaded quality.
Have suggestions or video tutorial requests?
I can't promise that I will be able to add those videos (for instance, I don't own every phone on the planet, so I can't do a video for "how to build for xx phone", but if you have a generic suggestion that would benefit everyone, please post a comment, or consider uploading a tutorial video yourself.
Considering contributing to the video series?
The GitLab links are available, and the project is licensed under Creative Commons Attribution 4.0, so you are welcome to fork the repository and add more videos, as well as use pull requests! Be sure in your video to add your name (real or xda) so I can give you credit, and others know that you created the video (it will show on GitLab as well). I do ask that you restrain any use of profanity, as that will help create a more professional video that will not be offensive to listeners.
Also, if you would like to make a translation, that would be great! Perhaps we could create another branch for each translation, or another repository or folder to hold them.
If you have more questions about contributing videos, please send me a PM on XDA, or contact me through my website or on GitLab. Thanks!
Have questions about building roms or kernels?
While I would absolutely love to help everybody, I have 3 kids under 5 years old, a job, and all of those time taking life events that come with a family and work. You are welcome to post questions here, but I can't promise that I'll have time or be able to answer all of them, But I'll do my best. Perhaps other users will be able to assist you as well. If you have a specific question, and don't hear back from me, you may want to start a thread in the Q&A section of the forums. Remember to be as detailed as possible, and include logs!
I really want to help you get started building. That said, I am not able to answer every question that possibly exists. I just am not that smart.
However, this is a great place to ask questions! Another great place to ask questions is in the Q&A section for your device, if it is device specific.
But I do have one request: Please don't PM me your questions. Please post your questions here instead, so I can answer one question for the group, rather than one on one questions. I want to help, but I don't have time to answer the volume of questions I am getting in my PM box. Please post you questions here in the thread.
Thanks.
Good Job
Enviado desde mi MI MAX 2 mediante Tapatalk
Feligres said:
Thanks.
Good Job
Enviado desde mi MI MAX 2 mediante Tapatalk
Click to expand...
Click to collapse
Thanks! I'm glad you like it!
This is really useful.....
@AlaskaLinuxUser The narration is too quiet in your videos
A huge round of applause for your hardwork
Thanks for being so kind enough to share your wealthy knowledge in Android development. Not everyone can do such a painful job for others and I really appreciate your work and dedication.
Once more thanks a lot for this wonderful guide!:good:
Wow.
Let me know if have any solution to break the restrictions of google to /proc/ in N and O to see individual process or I will need use MM.
This is amazing! Thanks for this!
Go this via xda labs! Haven't check these out, But the effort itself worth Appreciating?
Thanks a Lot!!!
Thank you for this! I am pretty much a beginer, I'd say a high level beginner, Lil. I have been through rooting 3 Samsungs , 2 HTC, and 1 LG phone. I used to think they would be the same because its Android:laugh: I am at the point where I know how to do a few tricks but want to know why and how they work. I will be watching these all this week.
Thank you again! Maybe one day I will be posting my own work. If that day were to ever came of course it would always be free.
Watching
This is awesome. Well definitely try this out...:good:
Good job .
I've been waiting for this for ages! Thanks! I actually stopped any development I was doing because I couldn't figure stuff out.
This is honestly fascinating and the way you organized the repository is even greater.
Additionally, thanks for licensing your material under CC 3.0!
thanks,make one on paranoid android as its difficult to build than others
شكرا جزيلا لك!
Thanks!

[Guide][Video Tutorial] Intermediate to Advanced Custom Rom and Kernel Building

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg
I really hope that you have enjoyed the series, and that it is helpful to you in your Android career!
Click to expand...
Click to collapse
Praise God! Another video series featuring more advanced material!​Previously, I had created a video tutorial and guide for how to compile Android, from Lollipop through Marshmallow, Nougat, and Oreo. If you need help learning the basics or intermediate material, please see my other video tutorial thread on XDA: https://forum.xda-developers.com/android/general/guide-how-to-build-custom-roms-kernel-t3814251
Who is this video series for?
Well, this video tutorial is a guide built primarily for the intermediate Android developer. This is written for those who already know how to compile custom roms for a phone that they own using device trees and vendor files that are already available. Things like using git, GitHub, GitLab, ADB, fastboot, and repo sync should already be something familiar to them.
That said, I believe that an intermediate developer will find this set of videos to be most helpful. The goal of this video series is to push the intermediate developer up to a rudimentary advanced level.
Advanced developer?
An advanced rom/kernel developer will probably far exceed my feeble abilities, and will not likely find much useful information here. Perhaps if you are an advanced developer, you would consider making another tutorial or adding to this advanced video series! (See further posts for recommendations on contributing videos.) Please! I'd really like to add links to your youtube channel, or your git repository full of advanced topics for developers! Help up the quality of devices and builds of Android by showing others what you know how to do best!
Why did you put this together?
Well, after releasing the previous tutorial, explaining to beginners how to use things like git, repo sync, compile roms, and do small kernel modification, it was brought to my attention that a more advanced course was needed for intermediate users who already know how to build roms, but may (like myself) struggle with more complicated tasks. I don't know how to do everything, and we all have to take the next step sometime, so why not take that next step together?
Why a separate thread?
I'd like to separate the more advanced questions from the more basic questions that may be asked in the other thread.
What's in the videos?
During the series, we will be attempting several more advanced tasks. At present, there is not a lot in the series, but below are some of the highlights from what is available.
**** This is an UNOFFICIAL TUTORIAL. Use at your own risk! ****
Now including more than 5 hours of video!​
Section A: Building a device tree from scratch:
+ Research
+ Finding similar devices
+ Pulling vendor files
+ Setting up a device tree
+ Getting block device information
+ Pulling kernel information
+ Breaking down boot images
+ Build errors
+ Target Assets
+ Tombstones AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/advanced_course_android_developer_guide_mp4
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/...course_android_developer_guide_mp4-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/watch?v=5c66tBsiVVM&list=PLRJ9-cX1yE1nnhWBrZtuVz5YC2OPfQVVp
Section B: Upgrading a device from Marshmallow to Nougat: (Work in progress)
+ Research
+ Finding similar devices
+ Comparing changes
+ Editing a device tree
+ Build errors
+ AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/HD_Android_Compile_Upgrade_MN_Videos
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/..._Android_Compile_Upgrade_MN_Videos-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/playlist?list=PLRJ9-cX1yE1lm9qFpVkOBO1oFJVFFK-fk
Section C: Creating your very own custom rom! (Work in progress)
+ Research
+ Forking a base rom
+ Adding to the manifest
+ Editing which apps are built
+ Editing settings/files/display
+ AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/hd_makinganewcustomrom
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/...hive/master/hd_makinganewcustomrom-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/playlist?list=PLRJ9-cX1yE1nTAc0uM17HL9KuN__GDexh
My Wordpress: https://thealaskalinuxuser.wordpress.com
My Website: https://thealaskalinuxuser.com
My device and kernel trees (older - GitHub) : https://github.com/alaskalinuxuser/
My device and kernel trees (newer - GitLab) : https://gitlab.com/alaskalinuxuser/
Created 2018-08-01
Last Updated 2018-09-28
This project is licensed under the Creative Commons Attribution 4.0.
https://creativecommons.org/licenses/by/4.0/
I'm big into sharing! That means that this video tutorial is open source! Here's the official license if you need it:
Code:
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
Notes:
Have questions about building roms or kernels?
While I would absolutely love to help everybody, I have 3 kids under 5 years old, a job, and all of those time taking life events that come with a family and work. You are welcome to post questions here, but I can't promise that I'll have time or be able to answer all of them, But I'll do my best. But perhaps other users will be able to assist you as well. If you have a specific question, and don't hear back from me, you may want to start a thread in the Q&A section of the forums. Remember to be as detailed as possible, and include logs!
I really want to help you get started building. That said, I am not able to answer every question that possibly exists. I just am not that smart.
However, this is a great place to ask questions! Another great place to ask questions is in the Q&A section for your device, if it is device specific.
But I do have one request: Please don't PM me your questions. Please post your questions here instead, so I can answer one question for the group, rather than one on one questions. I want to help, but I don't have time to answer the volume of questions I am getting in my PM box. Please post you questions here in the thread.
Thanks a lot
OfficialNLS said:
Thanks a lot
Click to expand...
Click to collapse
You are welcome! By the way, more videos coming soon! The device booted up!
Just uploaded a few more videos. Now there is over 5 hours of video for building a device tree from scratch, and it even boots up completely! YouTube and the MP4 repository are up to date, the Ogg Vorbis videos are uploading now!
AlaskaLinuxUser said:
Just uploaded a few more videos. Now there is over 5 hours of video for building a device tree from scratch, and it even boots up completely! YouTube and the MP4 repository are up to date, the Ogg Vorbis videos are uploading now!
Click to expand...
Click to collapse
Thanks a lot sir
Running `./unpack-bootimg.pl ./boot.img` says "Found a secondary file after the ramdisk image. According to the spec (mkbootimg.h) this file can exist, but this script is not designed to deal with this scenario."
How do I fix this? I have extracted the boot.img from watching the video and tried SuperR's Kitchen [Donated] and just extracted from the ROM. Please help!
thanks
Your topic is very great and useful for us…thank you
Editing BoardConfig.mk
Hi, I followed your video steps and used tool unmkbootimg, but I found out my kernel base is larger than the kernel address. In this case what can my kernel offset be? Do I still put these values in?
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 9018600
Kernel address 0x80008000
Ramdisk size 1771148
Ramdisk address 0x82000000
Secondary size 0
Secondary address 0x80f00000
Kernel tags address 0x81e00000
Flash page size 2048
Board name is ""
Command line "console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x81dfff00 --cmdline 'console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci' -o new_boot.img
Oh just what I was looking for. My phone's manufacturer warranty will run out in a couple of months. Will give me enough time to look up stuff till then.
Jiiro said:
Running `./unpack-bootimg.pl ./boot.img` says "Found a secondary file after the ramdisk image. According to the spec (mkbootimg.h) this file can exist, but this script is not designed to deal with this scenario."
How do I fix this? I have extracted the boot.img from watching the video and tried SuperR's Kitchen [Donated] and just extracted from the ROM. Please help!
Click to expand...
Click to collapse
Great question, I'll be honest, that is the first I heard of it. It seems as though it is pulling the boot image apart, it found more than one ramdisk image and doesn't know what to do with it. Did you try with the other tool, umakebootimage? http://www.mediafire.com/download/xdmd278n17gm58h/unmkbootimg and http://www.mediafire.com/download/7cmi548pzetc6c4/mkbootimg
Perhaps that will yield something fruitful. What device/model/kernel is it?
alicetaylor said:
Your topic is very great and useful for us…thank you
Click to expand...
Click to collapse
You are welcome!
JW19 said:
Hi, I followed your video steps and used tool unmkbootimg, but I found out my kernel base is larger than the kernel address. In this case what can my kernel offset be? Do I still put these values in?
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 9018600
Kernel address 0x80008000
Ramdisk size 1771148
Ramdisk address 0x82000000
Secondary size 0
Secondary address 0x80f00000
Kernel tags address 0x81e00000
Flash page size 2048
Board name is ""
Command line "console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x81dfff00 --cmdline 'console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci' -o new_boot.img
Click to expand...
Click to collapse
Notice this warning:
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
It is saying you should get the source code for mkbootimg and modify that source code with these lines, then build the mkbootimg tool and use that to put your kernel back together. So you can't use the mkbootimg that I supply for that purpose, you have to build a special one just for your phone. This is abnormal, but does happen.
yanksrules65 said:
Oh just what I was looking for. My phone's manufacturer warranty will run out in a couple of months. Will give me enough time to look up stuff till then.
Click to expand...
Click to collapse
Great! Glad you are enjoying the videos!
@AlaskaLinuxUser Hi, I'll check those out.
Also, I have a question about using sources from GitHub, GitLab, etc.
Can you someday make a tutorial on how to make local_manifest.xml and roomservice.xml? Thanks!!! I'm really confused on how to do so.
Jiiro said:
@AlaskaLinuxUser Hi, I'll check those out.
Also, I have a question about using sources from GitHub, GitLab, etc.
Can you someday make a tutorial on how to make local_manifest.xml and roomservice.xml? Thanks!!! I'm really confused on how to do so.
Click to expand...
Click to collapse
You bet! Actually, I already did make a video for that. In the first post, there is a link to the basics video series, which has videos about doing just that. So be sure to check those out! :good:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Jiiro said:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Click to expand...
Click to collapse
You are correct, sometimes the kernel is set up in a way that hides a lot more information, it really depends on what options they used when compiling it. That is one of the hardest parts for the developer.
As for extracting the boot image, sometimes they use a custom version of mkbootimage to build the kernel which can make it difficult to extract. You might try downloading other versions of it by searching online to see if you can find one that works a little better.
Also, is your phones boot loader unlocked? Is your kernel signed?
Jiiro said:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Click to expand...
Click to collapse
Doesn't the J7 already have custom ROMs? Lineage OS, RR?
Just a quick note, I am currently working on a set of videos for upgrading your device tree for the next version of Android. For the target device, I am hoping to upgrade the BLOX2 that I used in the series for building a device tree from scratch. First up is upgrading it from Marshmallow to Nougat. Hopefully we will all learn a lot from this experience!
Another update!
I am only about 10% through the upgrade from Marshmallow to Nougat, but I've started putting up the videos. The OP has been updated with new links to GitLab and YouTube! I will probably be taking a short break from this as some changes at work will require me to do some job interviews, which take up some of my spare time, and may adjust my schedule a bit.
While these upgrade videos are not complete, I do think that they give a good general idea of what a person needs to do to upgrade their device from one version of Android to another. Keep in mind, this is a tedious and often advanced task! Not for the faint of heart!
Hi, I'm the guy who wrote in the comments of one of your video. I can't extract the kernel of my rockchip rk3126 device, so this can't let me take zImage (which I need to build cm12.1, rockchip kernel sources doesn't work, even if I'm using the same 3.10 version). I read in the rockchip wiki that they made kernel with their method (RKIMG), so while I try to extract boot.img or kernel.img with unmkbootimg it tells me that the file isn't an android boot image. Instead, while trying to extract recovery.img I got 3 files: kernel, ramdisk.cpio.gz and second_bootloader. So what can I do for extracting this?
The kernel https://github.com/rockchip-linux/kernel of branch release-3.10 (it is the same of stock ROM, just updated to a newer subversion) gave me this error while building cm12.1: https://hastebin.com/udivahidaq.rb

Question Tb-j716f GPL source legalese

So, I was wondering if this would be of any help in attempting to get source for the xiaoxin pad pro 2021. I don't know enough about the specifics, but this is under settings>about tab>open source.
If this is not relevant to our kernel dilemma, feel free to delete this thread. I just saw it t on the tablet that Lenovo does everything in it's power to distance itself from, but right in the stock Zui 14 firmware this is there in black and white.
87 1:48
<Open source information
Your mobile device may include software made publicly available by Lenovo, including software licensed under the General Public License and/or the Lesser General Public License (the "opensource software").
You may obtain the corresponding machine-readable copy for any such open source software licensed under the General Public License and/or the Lesser General Public License (or any other license requiring us to make a written offer to provide corresponding source code to you) from Lenovo for a period of three years without charge except for the cost of media, shipping, and handling, upon written request to Lenovo. This offer is valid to anyone in receipt of this mobile device. You may send your request in writing to the address below accompanied by a check or money order for $5 to:
Lenovo Legal Department
Attn: Open Source Team / Source Code Requests 8001 Development Dr.
Morrisville, NC 27560
Please include "ZUI version of this mobile device as part of your request. Be sure to provide a return address.
The open source software is distributed in hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See for example the GNU General Public License and/or the Lesser General Public License for more information.
To view additional information regarding licenses, acknowledgments and required copyright notices for the open source software used in your Lenovo mobile device, go to "Open source licenses" and/or "Additional Open source licenses" within the "Settings" menu on your mobile device. This mobile device may include certain pre-installed application programs or pre-configured links for downloading application
programs published by parties other than Lenovo. Such third party application programs may include open source software made
publicly available by the respective publishers of those application programs. You may obtain the corresponding source code for
any such open source software directly from the publisher of the applicable application program, to the extent permitted under the
relevant open source software license agreement. Additional Information is provided by the publisher of each application program
within the menu structure of its application program.
Sadly, due to the nasty market and legal environment in China, some Chinese vendors consistently do not follow the GPL open source agreement.
Besides, they also have interface: TB-J716F is only for Chinese customers, It is only natural for Chinese manufactors ignore Chinese users.
I myself am Chinese and I have requested many times through internal channels, but no response of course.
That seemed to be my impression as well, but the fact they specifically call out Zui and it's a US address made me wonder.
prozack1983 said:
So, I was wondering if this would be of any help in attempting to get source for the xiaoxin pad pro 2021. I don't know enough about the specifics, but this is under settings>about tab>open source.
If this is not relevant to our kernel dilemma, feel free to delete this thread. I just saw it t on the tablet that Lenovo does everything in it's power to distance itself from, but right in the stock Zui 14 firmware this is there in black and white.
87 1:48
<Open source information
Your mobile device may include software made publicly available by Lenovo, including software licensed under the General Public License and/or the Lesser General Public License (the "opensource software").
You may obtain the corresponding machine-readable copy for any such open source software licensed under the General Public License and/or the Lesser General Public License (or any other license requiring us to make a written offer to provide corresponding source code to you) from Lenovo for a period of three years without charge except for the cost of media, shipping, and handling, upon written request to Lenovo. This offer is valid to anyone in receipt of this mobile device. You may send your request in writing to the address below accompanied by a check or money order for $5 to:
Lenovo Legal Department
Attn: Open Source Team / Source Code Requests 8001 Development Dr.
Morrisville, NC 27560
Please include "ZUI version of this mobile device as part of your request. Be sure to provide a return address.
The open source software is distributed in hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See for example the GNU General Public License and/or the Lesser General Public License for more information.
To view additional information regarding licenses, acknowledgments and required copyright notices for the open source software used in your Lenovo mobile device, go to "Open source licenses" and/or "Additional Open source licenses" within the "Settings" menu on your mobile device. This mobile device may include certain pre-installed application programs or pre-configured links for downloading application
programs published by parties other than Lenovo. Such third party application programs may include open source software made
publicly available by the respective publishers of those application programs. You may obtain the corresponding source code for
any such open source software directly from the publisher of the applicable application program, to the extent permitted under the
relevant open source software license agreement. Additional Information is provided by the publisher of each application program
within the menu structure of its application program.
Click to expand...
Click to collapse
The only way out...

Categories

Resources