Custom ROM builders, what would be your advice for someone learning the process - Android Q&A, Help & Troubleshooting

First of all, thanks to all custom ROM builders who have made the Android ecosystem diverse and rich. Even when the companies whom we pay for the device stop providing us with updates, your tireless works keep our cellphones alive and running.
Now, I would like to understand what goes into building a custom ROM. Here are my questions:
-> What kind of knowledge is prerequisite for starting such a project? For example, proficiency in C++, Java and an understanding of Linux kernel seems to be the basis of it. What else would you suggest?
-> Which tutorials, books or documentations would you suggest to learn the stuff? There are a few videos on Youtube, a few threads here, but sadly they seem to be out of date, and I guess Google has changed the Android system architecture drastically in recent years. Also, there seems to be a misunderstanding between building from source code, and modifying the source code before build. There are many which focus on the former, which is not that difficult of a project.
-> What kind of tools would make the whole process easier? There are a lot of tools like SuperR Kitchen, but are they used by actual devs? Or do the devs make their own tools for development?
-> What hardware specs would you suggest for Android system development? Is 16GB RAM enough, or is 32GB optimal? What about CPU: speed vs threads, which is more preferable?
-> How do you implement a new feature that doesn't exist in any current ROM? How do you, let's say, add a customizable lockscreen, or scrollable QS tiles?
-> When you start a ROM development, there is always an ethical question of stealing someone else's code. However, you have to start somewhere. Some ROMs say they are based on AOSP, or Lineage. How does the choice of base ROM impact the final product? How much do you copy code from a different custom ROM's source code?
-> Any other advice, suggestion or warning. Feel free to enlighten us.
Consider this thread to be a Q&A, where, if the devs are kind enough to participate in, we will get to pick their brains and learn from the process.

Related

Some advice..

I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
I cannot agree more. Learning the in's and out's of the Android framework will benefit newcomers SIGNIFICANTLY.
Building ROMs is easy, fixing bugs and adding new functionality is the fun stuff, and having a solid understanding of the Android framework helps with this. The best way to learn is to pick up the Android SDK and whip up some apps, there are great tutorials out there.
Awesome information! It is good to see I have been reading the right literature... There are also a few that I missed... Thanks again for the links!
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
I completely agree. But it's cyan saying it, who wouldn't
I am ok with "chef" terms because they were born on XDA, which makes them kinda cool, but I agree that the file-pusher mentality/stereotype is quite derogatory.
I hope this section goes places.
P.S. Hearing a diehard android dev like you (cyanogen) say that you are biased against sense really made me think about how good plain old android really is... so clean and functional. Good stuff bro.
very nice thanks for the info was looking into this...now to fill the brain.
Weird how this is exactly what i was looking for. Time to read. Thank you cyanogen.
I'm with Cyanogen on the bias against pre-built, proprietary code blobs. Even the non-free, basic parts to get AOSP to build for dream give me the hivie-jivies, mostly because the reason we're in such a pit now with further versions of Android is because we have no source to maintain working basic functionality (yeah, video in a device capable of recording/playback is basic).
I'll try to work a couple basic tutorials based on my rom-building exploits covering things from getting android built from source, to actual troubleshooting possible problems, to having a hand at modifying the source so you can make the built your own. I really want to see somebody come up with a real custom rom on the android part of the OS and leave the linux part rest for a while.
Oh man! PDK! Never seen it! Thanks a lot
Great job
As always, my hat is off to you Cyanogen. This is exactly what i was looking for. Once again thanks for your hard work and dedication to the project.
This is awesome. I am going to be learning this stuff over summer. But there seems to be a gap of information between learning the android stuff, and learning the linux stuff.
Hi do you know some guides online to build Overclocked Kernels ???
PDK website
Odd that the PDK website does not function. Anyone know who owns it?
mistere372002 said:
Odd that the PDK website does not function. Anyone know who owns it?
Click to expand...
Click to collapse
Works fine for me. What issues are you having?
I guess I'll be the first in the thread to ask the extreme newbie questions.
Are the links in the OP in a particular reading order, or is there a recommended order?
Since the entirety of my programming experience is some simple VB type stuff, will I be able to learn from the ground up via those links, or will it be more like trying to figure out the words in a Chinese book with no knowledge of the language?
At one point I had managed to cobble together a web front end on my Droid for wowhead.com (all it did was bring up a screen with a search box, which would then pop open the browser with the results of whatever you searched for), but to say I had a firm grasp of what I was doing in my tinkering would be a gross overstatement.
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Click to expand...
Click to collapse
So, firstly thanks for the websites. Personally, I already knew about most of those. But that is beside the point right now.
Why would someone want to learn how to program anything when they are just building a rom? I just don't understand what is wrong with someone only tweaking and slimming a rom down. What point would it be for a website like this to make everybody just go out and learn on their own EVERYTHING, and then what would this site be for? Posting only in the development forums? This is a support website. Plain and simple. Who cares if someone asks a question? If they searched and couldn't find something, let it go.
In your same thought process, very FEW WM chefs could call themselves chefs. And before you ask yes, I could call myself a chef because I have written quite a few apps to assist in building a rom or actual tool for WM. Maybe not the best chef, but one nonetheless.
I just think this is basically discouragement of any new developers/chefs from posting something in fear of being chastised. I am absolutely still learning android. If it wasn't for the people of SDX, particularily joeykrim, I wouldn't be so close to a final product of my Android kitchen.
This being said, maybe I am just full of crap and the only one that will go against your POV. Mainly because I am not afraid to state my opinion. And this POV is wide across the forum and this is why I don't contribute much here anymore
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
Thank you.
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
Thanks for your support/advice,
I'm trying to understand all the stuff in order to create a new ROM for Tattoo from 0, and I will take your info in order to. Crate this ROM and make a step by step manual to help people to understand how to modify their Tattoo's. I will like to see this cooperative knoledge share for this phone. As more peoople understands all this stuff, and all this work done by the comunity, more people will join and share to have better phones every day.
Tanks
java version
hi all,
Working 100%. Thanks for this great work. Now runing this 2.6.34 kernel on tattoo. Just now ajusting the kernel configuration.
Cheers
great advice
Cyanogen
Thanks for your support & advice
Time to start reading....
trying to understand all that is needed ==
TO BE A DEVELOPER..
IF ANY BODY HAS MORE INFO OR VIDEOS ..
PLEASE POST
----------------------------------
Currently own a Sprint EVO 4g > and plan on making great things for it..
Cyanogen you are so damned right. Building a Rom should implicitly mean that you know git, Android, dev and... read api and docs
I'm thinking about dsixda Rom kitchen.
I use its scripts to unpack kernel and zip everything, but largely customized the scripts and added some. In fact I love shell scripts.
I just wish you could also post a link to a toolchain tutorial for those willing to compile binaries from sources on x86 for an ARM architecture. And also to add shared libraries.
Have a nice day.

[Q] Aspiring Android ROM Developer: Build Apps or Hack AOSP First?

Hey there, everyone.
I'm just looking for some advice. I've been using my Verizon Samsung Fascinate since November, and for the most part have been a very happy user. Ever since I installed a Gingerbread-based ROM, I have been extremely happy with both the device's performance and new features (nothing says cool like the Old TV Shutoff animation). Lately, I have been wanting to try my hand at modifying and packaging my own Android ROMs for the Fascinate. Obviously, I have never done something like this before, so I'm looking for some advice.
I've been programming in Java for over a year now and I'm very familiar with the language as a whole. I've used it in various programming competitions through school along with building some applications and tools for the company I'm currently interning with. Right now, I feel that I have the basic programming skills required to look through code and understand what the logic behind it is (at least I hope).
My question for you all is this: should I jump right in and start poking through the AOSP code, or would it be more beneficial for me to start off as an Android App Developer, slowly working my way into Android hacking? I have some ideas for potential apps (which I'll probably end up developing regardless, but at a later date), so if it would be more beneficial to just develop apps, I certainly have a basis for my ideas.
Any personal stories/recommendations would be excellent. Thanks in advance for any/all answers!

A MUST-READ for aspiring ROM "Developers"

This article appeared today on the main page of XDA and I feel that it's a very important lesson for any/all new ROM devs.
Sage Advice from Cyanogen Still Valid Today
http://www.xda-developers.com/android/sage-advice-from-cyanogen-still-valid-today/
Excerpt:
He had this advice to offer for those looking to make their own Android ROMs:
Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works….. Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that s**t on your resume. There is a *ton* of information out there but any kind of “step-by-step rom cooking guide” is going to be a complete fail- it’s too broad of a subject.​As XDA has grown right along with the meteoric rise of Android, so has a desire of users to create their own ROMs, kernels, themes, and so on. Much of this work classifies as “original development,” but there’s been a growing trend to what many are calling “derivative development.” This category covers most of ROMs based on stock releases from the manufacturers, applying patches and scripts aimed at optimization, theming and/or removing stock applications, and using “kitchens” that run a stock release through a list of scripts and then repackage as a recovery-flashable update.zip. This is what Cyanogen was expressing frustration about—shortcuts being taken to achieve a product that differs only slightly from stock (derived) and pushed out instead of building from source and delving into the core of Android and making something truly original.
XDA-Developers exists first and foremost for developers. It’s at the core of who we are; it’s in our blood; and it’s in the air we breathe. There is a place for derivative works—they provide an entry to the scene which can help to introduce people to the wonders of Android. But let’s not stop there. Don’t be satisfied with just creating yet another derivative of someone else’s work. Instead, follow Cyanogen’s sage advice and learn about Android from the ground up, and create something truly original and innovative.
Click to expand...
Click to collapse
Guess I should continue with this hello world app... haha
Op just explained 99% of our roms lol
Repackage, rename, reskin and ask for donations. Rinse lather and repeat. Now your a dev!
Ha.
True software developers understand the wisdom of code reuse.
So ,in my opinion, if a fledgling developer takes a set of code and applies addons, makes a few setting changes then calls it a ROM and provides users benefit...then they are on the path.
Sent from my SAMSUNG-SGH-I717 using Tapatalk 2
andrawer said:
Ha.
True software developers understand the wisdom of code reuse.
So ,in my opinion, if a fledgling developer takes a set of code and applies addons, makes a few setting changes then calls it a ROM and provides users benefit...then they are on the path.
Sent from my SAMSUNG-SGH-I717 using Tapatalk 2
Click to expand...
Click to collapse
Even if they fail to write a single line of original code?
I'm with cyanogen on this one...
saddly alll this is sementic
if the world of android was perfect then this would be true .by perfect i mean everything being open source ...
but if everything was open source we woudlnt have things like arc touchwizz blurr or sense , it is my opinion and shared by many others that android would be very boring if we only had aosp .
what does a coder brings to touchwiz sense or blurr device ?
the market is filled with cool apps and launcher .. 99% of them coders will make apps for android and wont bother with anything else
that brings me to my next point . building from source means on top of aosp , or in my terms vanilla android .. many devs love vanilla and its fine but what about those who dont ?
99% of the rom on xda are just that : either source compiled with apps added or stock deodex rom with a theme and apps added ..
here is the but , and before i say it i wanna say everyone is entitled to his opinion and im not bashing anyone ,
without guys like me who just hack the code and spend countless hours looking at what the code is actually doing and port the nice stuff from sense to TW or form CM to TW and RE (reverse engineer all these nice codes) 99% percent of the android devices would be boring because lets face it there is only one aosp device / year..
so from what Cyanogen is saying we should all buy a gnex and stop supporting those that make android close source,
but wait without them , many things woudlnt be in CM in the first place , what is cm without all these kangs? a glorified aosp ?
ok maybe im pushing but you get my drift...
how many true innovations by Cyanogen vs them Proprietary UI ?
fun fact the head (or ex ) of Cyanoen now works at samsung and help make touchwiz better (close source)
what about miui , they have so many innovations , and they dont share any of there code ..
so as I said there is no black or white here
thats what android is all about make your own thing play with it call it yours and make it a hobby , and maybe just maybe others will like it ...
I have seen way to many devs get god like status on xda for deodexing a rom and injecting voodoo in there kernel (for example)
i ve seen crazy talented themers have there work taken by others be ignored by the community and then vanished , and everyday we see a kik ass true developper on here and treat him like hes a nobody , because he doesnt have or because we havent heard of his rom .....
i completely understand where cm is coming form but my opinion differs slightly ..
@op kik ass thread (as I never read the front page)
Hard to build an i717 ROM from scratch with all of the proprietary bits, Samsung framework, etc, as most of that is proprietary as DAGr8 says. AOSP/AOKP works, but lacking some SPen functions and still relying heavily on a binary kernel as there are no kernel sources for ICS yet.
Hopefully the kernel situation changes, and we're back to the normal business of everything except the proprietary blobs that have to get copied from a stock ROM......
It'd be nice if all required code was released, but for some reason such things tend to be considered proprietary. Oh well.
Thanks OP. I also don't read the frontpage near often enough.
I like what Cyanogen is saying, and agree with his points from his developer point of view. I also agree with DAGr8 and his points. The fact is that Android gives us so many choices and has so many options for exploration. I think that's why so many of us have moved to the Android ecosystem. There is enough room for everyone. Android is the most prevalent mobile OS in the world for a reason. We can all have our opinions. We can all have what we want on our devices. And there are more and more people willing and able to jump in and try to build. Call them developers, or hackers, or derivators. It doesn't matter to me. They all add value to Android.

[Q] Starting Android Development with no experience in Software Programming

Hi xda-developers,
I am an Embedded developer with vastnexperience in Firmware development in C programming (for microcontrollers), pcb designing, corel draw/photoshop (intermediate level) . Now I am looking to stretch my self a lil further by trying my hands on Android Programming. I have no prior experience in Software development. It would be kind of experienced developers out here to guide me with possible approaches that I can give to Android development without a much steep learning curve. As I would be practicing android development mostly on weekends (as of now), I would like to get started with things that I can relate with already. That way it would keep me going. Help me out with:
1. Possible applications I should work on. Something that can also be helpful for the community of users and developers.
2. Starting point and other obstacles I would come across while development.
3. Application ideas.
P.S: I also have a rPi lying around catching dust.
Some of the features still cant use on this. Libraries could be use.
Start with "Hello World"
Regardless of your software development capabilities you should always just mess around with the tools that are available and see what you like and what you don't like.
Try every tool you can, when you feel like you know those inside out have a go at extending the functionality of one of those.
For me when it comes to learning a new technology like Android SDK just playing with it inspires me to want to create real and practical applications.
Goodluck and have fun.
PS: I would stick around and see what happens with the release of Qt 5.2 Hint hint...
Yea. Android like embedded requires you to set up a Dev environment so get that up first. ROM building vs app developing are hugely different. Decide which and download the tools. (May require you to install a whole new os and tweak it heavily. Last time I ventured to compile a ROM it was a day to set up my Linux distro of choice)
And like what was said before start with hello world and move up in small bites. You will gain better understanding of how things work and will be less frustrated. Don't expect a full featured app to appear. Once you play around with all the little components eventually you will see a big picture and the building blocks for the "big app" will be there ready to use.
Sent from my One using xda app-developers app

About Development

I have 3 questions for the experts or anyone who is interested in this topic. Any information provided would be greatly appreciated. Here we go!
1) If I wanted to compile my own custom rom what kind of knowledge would I need?
2) Is this type of project possible from a laptop (i.e. building the rom and making fixes etc.)
3) How long would a project like this take me to produce a semi-working version of Android? (all basic functions, wifi, bluetooth etc.)
I am a first year college student looking to study the world of device software to become a developer someday. And this project would be a good start regardless of length and time it would take to finish. However I am unsure of the exact knowledge I would need in order to start something like this. If there's anymore information I need to provide please let me know. Thanks in advance!
0
Seppppx said:
1. Basic android knowledge, some basic android development knowledge (AlaskaLinuxUser has great guides and explanations for this, he covers everything you need. https://www.youtube.com/c/AlaskaLinuxUserAKLU ), you don't have to know a programming language, but it will be useful. Basic skills about programming are very useful (you should know what an integer is, or what is a variable).
2. Yes, depending on the specs, you need Linux or MacOS. 4gb of ram is the minimum I guess, 16gb is recommended. A good cpu will shorten your build times considerably (but should be okay on lower end cpus as well, it will just take a long time to build afaik), gpu doesn't matter afaik. SSD will make your build times faster.
3. I haven't managed to make a basic working build, but getting LineageOS booting to the home screen on a device with no custom rom or sources took me 47 days, I had to do everything from scratch for the first time.
Click to expand...
Click to collapse
I appreciate the tips and will be looking at the guides tonight. To say the least I am excited
Mr.Conkel said:
I have 3 questions for the experts or anyone who is interested in this topic. Any information provided would be greatly appreciated. Here we go!
1) If I wanted to compile my own custom rom what kind of knowledge would I need?
2) Is this type of project possible from a laptop (i.e. building the rom and making fixes etc.)
3) How long would a project like this take me to produce a semi-working version of Android? (all basic functions, wifi, bluetooth etc.)
I am a first year college student looking to study the world of device software to become a developer someday. And this project would be a good start regardless of length and time it would take to finish. However I am unsure of the exact knowledge I would need in order to start something like this. If there's anymore information I need to provide please let me know. Thanks in advance!
Click to expand...
Click to collapse
Consider to visit the threads created by @AlaskaLinuxUser e.g. these:
[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! Praise...
forum.xda-developers.com
[Guide][Video Tutorial] Intermediate to Advanced Custom Rom and Kernel Building
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! Praise God...
forum.xda-developers.com
[Video Tutorials] XDA Etiquette, Compiling Custom Roms/Kernels
Praise God! A video tutorial about XDA etiquette! These videos express my personal opinion, and are not necessarily the opinion of XDA. I am not speaking on their behalf. This is just a video series that I put together based on a recommendation...
forum.xda-developers.com
Please check for the threads in his profile. There's much more around.
EDIT: Upps and sorry. Already mentioned by @Seppppx

Categories

Resources