where do you learn how to build custom roms? - G1 General

Hi I'm just wondering where to learn how to make custom roms?
I find it very interesting but guess I don't quite understand it just yet.
I have built cupcake and tried to run it in the emulator following the steps google gives on the source code page, but it never gets past "Android" with a flashing cursor and a black background on the emulator and i've never tried to flash it to the phone as im not brave enough being i really dont know what i'm doing. I would like to use the files in JF's build so i have root and what not, maybe poke around the code a little, see how things work. I wish someone would make a beginers tutorial for for this. I know its not easy and you need to know how to program. and programing shouldn't be part of the tutorial, but just how to get all the files maybe make a small change to one or two of them and then build it and see those changes at work would be nice.
Thanx for any help!

there is no beginners guide to programming the android OS, either you can look at the source and edit to your liking or you can't. for the most part the guys that have been building the ROMs have been working with programming for a long time and know what they are doing. i am working on it, but my java is old knowlege and i don't remember much. you will need to learn java in order to play with building your own ROM

I'm not so much talking about editing the source as just take the source and build it so i can run it in the emulator. I'm not that great with linux, and i did build it, but i think i did somthing wrong because it freezes at the android screen. I know im not going to just grab the code and start changing it with no experiance. I just want to mess around and see what i can learn.

Related

Moving on to Linux 2.6 with the Wallaby...

After more than a year (of slacking :roll, I'm finally catching up with the Linux port again.
Seeing some good progress has been made with the Himalaya, I've moved onto 2.6 as well. I just got the usual linexec + kernel 2.6.10-hh0 (from handhelds.org) booting on the Wallaby XDA1. I shall feed the tree onto xanadux cvs, and/or handhelds.org's sometime.
In the meantime I'll look and play around a bit. Might put together some simplier stuff like the buttons support and touchscreen, and/or followed by more and more bootloader code reading/disassembling/ida-ing.
To be honest I myself is really just a beginner in disassembling and ida, I'm sure I'll need a lot of help here
I am willing to help ....javascript:emoticon('')
Hello,
I am very happy to hear, that it is again going on!
I am a windows programmer with a little bit embedded experience.
But I am a newbie with Linux .
I am willing to help or document. But with the spare information in the xanadux-wiki page it is not possible for me to set up an developement envirenment.
Perhaps it is the best to push back your changes in CVS, - commit your wish for help in the mailing-list of the project and explain how to setup the developement environment on the wiki page.
I will try to follow your steps and will update xanadux wiki page with more details if wished/needed!
I want to have linux on my device!
not a programmer but willing to learn, and provide any resources I could on my end.

Making ROMs

So this is combination question/idea.
I have been reading around and it seems to me that most ROMs are made mostly just by taking existing ROMs (often taking the stock one) and editing the installed applications. This is what Kitchens do - right?
When we want to theme things we have to go through and manually edit all sorts of images, resources, compiled xml files, etc.
That all being said why don't people ever just take the source from google (android is open source) and just modify the source to their liking and compile their own ROM? Do people already do this? Wouldn't this making theming a lot easier by just replacing the files before it is all compiled together?
Why don't we just compile a version that lets you theme most things pretty easily - make large parts of the UI skinnable and then people don't have to spend so much time hacking xml files?
Again, this all may be completely wrong and I apologize for wasting your time for reading this if it is...
Just wondering if there is an easier way to do what we are doing
you should do some research on the Cyanogen mod and Android open source project (AOSP)
you're on the right track with where you're going with this, but it's already been done. most ROMs ARE in fact modified versions of 2.1 with edited image files, added applications and such and that's really all we can do, until now at least. some of our devs are working on porting ROMs based off of the Cyanogen mod, which is based off of AOSP.
someone please correct me if I'M wrong =)
I've found the following links to be really helpful:
1) http://forum.xda-developers.com/showthread.php?t=622916 - compiling Hero kernel & AOSP from source
2) http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/ - blog entry that #1 was based off of
3) http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html - sort of the same thing again, but it's good to read different takes on things like this
4) http://forum.xda-developers.com/showthread.php?t=633246 - very good kitchen
gnarlyc
I could be wrong, but the Google source code will be rather "generic" or all-encompassing. It will (or should) work for ALL Android hardware devices. Problem with that is that it's not optimized for a specific piece of hardware. Same logic applies with compiling your own kernel in Linux. Linux includes hardware support for thousands and thousands of pieces of hardware (and some obscure sh*t at that). Granted, it's not loaded into memory but the code is still in there. When people compile there own kernel, they only include drivers for their video card, their IDE/SATA controllers, their CPU, and so on.
When people start with an ERIS ROM or HERO ROM from HTC, I have to presume that HTC has already stripped out the non-applicable stuff. It's a much cleaner slate to start from.
gnarlyc said:
I've found the following links to be really helpful:
1) http://forum.xda-developers.com/showthread.php?t=622916 - compiling Hero kernel & AOSP from source
2) http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/ - blog entry that #1 was based off of
3) http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html - sort of the same thing again, but it's good to read different takes on things like this
4) http://forum.xda-developers.com/showthread.php?t=633246 - very good kitchen
gnarlyc
Click to expand...
Click to collapse
Funny you mention that, I just installed an Ubuntu VM so that I could check out the source and start playing around... see what there is to see

[Q] Android ROM Development Help

To answer the question that everyone is thinking as they click on this thread... Yes, I am a noob.
Anyway, I downloaded the Android Kitchen and installed it on a Linux Ubuntu Virtual Machine on my Macbook using VMWare Fusion and i watched a video from theunlockr, but all it really let me do was add in apps, change the rom name and give it a few features but no visual customizations... If i posted a link of the "My ROM" no one would be able to tell a difference in the rom i planned on starting from.
Let me know if there is a different way to create that is actually making ROMs or customizing the ROM in it's entirety instead of small unnoticeable features, let me know if I'm just doing something wrong in my Android Kitchen and let me know if theres an easy way to develop ROMs on Mac without Virtual Machines. (The last one isn't a big worry because linux is very lightweight and runs fine on my computer but please help me on the other two questions)
Thanks in advance,
AdamFerg

Deep Android System Programming/Unterstanding - How start?

Hi,
firstly, i have to say, i didn't found a correct section, but this seems to be the most properly, although i could be a noob. If my posting wasn't correct, i hope you will forgive me & move my post in the right section.
In the next months I'd like to start porting CM11 or/and Android 4.4 to my Xperia J, respectively learn how android system works. In this case i thought it would be helpful, if i learn more about Java, especially because i'm learning C# since one year in school.
Really, I'm not interested in "trivial" things things like how to program a own launcher.
(I'd never done something like that, i'm just not interested in.)
My interestings are deeper, e.g. about the implemention of GPRS (want to remove that without damaging the system), the general system settings(want also to modify something in there), the new permission manager in android 4.4, the interaction with the sim card in CM & the original android & their differences(e.g. my Sim only works in android, not in CM), their code & their connection to each other.
Which parts of Android are written in Java, C & C++? (I know the Kernel is wirtten in C, but thats all)
Can you give me some sources about this?
Have you some suggestions what i could do?
Would something like that here:
http://www.amazon.com/Embedded-Android-Porting-Extending-Customizing/dp/1449308295
be helpful?
Or would be something like that better for my project:
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/
http://www.amazon.com/Building-Embedded-Linux-Systems-Yaghmour/dp/0596529686/
?
Thanks in advance.
Edit: This Guide: http://forum.xda-developers.com/showthread.php?t=2620389 is a good source, but im still wondering.

Most Customs for G800F

, lets be honest: are ****.
Unstable, Buggy and **** like that.
And instead of just complaining about the devs* I want to know the following:
If I want to contribute on the code what do I need to learn? Since a while I'm teaching myself Java and Python via Solo Learn. What would I need to learn to contribute to the Android OS Code itself NOT APPS!!
It will take me months, years I am aware of that. But I'm just tired of only trying different Custom ROMS, only to see that most of them aren't a real alternative of the Stock Roms, without having the possibility to do something about it.
So feed me with some input. What are good sites to learn that?
Happy for your feedback!
*Because damn I know that the Devs are doing an amazing job!
Google is a good start.. that search engine can point you in the right direction ?
Ghost1607 said:
And instead of just complaining about the devs* I want to know the following:
If I want to contribute on the code what do I need to learn? Since a while I'm teaching myself Java and Python via Solo Learn. What would I need to learn to contribute to the Android OS Code itself NOT APPS!!
It will take me months, years I am aware of that. But I'm just tired of only trying different Custom ROMS, only to see that most of them aren't a real alternative of the Stock Roms, without having the possibility to do something about it.
So feed me with some input. What are good sites to learn that?
Click to expand...
Click to collapse
It really depends on what you want to do with Android. The upper layers are in Java. The lower layers are in C++ or C. If you want to adjust the stock libs you might have to understand ARM assembler code. Also a basic knowledge of microcontrollers and linux kernel does help (especially if it comes to the graphic and camera subsystems).
There is almost no documentation for Android (the code is the documentation) and the subsystems change from version to version. The best way (and probably only one) to learn Android is hands on. Just try to fix the most annoying bug you encounter. Try to understand how the source-code works. Check how the Java, C++ layers, kernel and the stock libs interact with each other.
Also try to understand the adb logcat output.
Also try to understand the G800F device tree. A first step is also to compile the source yourself.
hennymcc said:
It really depends on what you want to do with Android. The upper layers are in Java. The lower layers are in C++ or C. If you want to adjust the stock libs you might have to understand ARM assembler code. Also a basic knowledge of microcontrollers and linux kernel does help (especially if it comes to the graphic and camera subsystems).
There is almost no documentation for Android (the code is the documentation) and the subsystems change from version to version. The best way (and probably only one) to learn Android is hands on. Just try to fix the most annoying bug you encounter. Try to understand how the source-code works. Check how the Java, C++ layers, kernel and the stock libs interact with each other.
Also try to understand the adb logcat output.
Also try to understand the G800F device tree. A first step is also to compile the source yourself.
Click to expand...
Click to collapse
Thank you for the reply I appreciate it!
TWRP
hennymcc said:
It really depends on what you want to do with Android. The upper layers are in Java. The lower layers are in C++ or C. If you want to adjust the stock libs you might have to understand ARM assembler code. Also a basic knowledge of microcontrollers and linux kernel does help (especially if it comes to the graphic and camera subsystems).
There is almost no documentation for Android (the code is the documentation) and the subsystems change from version to version. The best way (and probably only one) to learn Android is hands on. Just try to fix the most annoying bug you encounter. Try to understand how the source-code works. Check how the Java, C++ layers, kernel and the stock libs interact with each other.
Also try to understand the adb logcat output.
Also try to understand the G800F device tree. A first step is also to compile the source yourself.
Click to expand...
Click to collapse
Dear hennymcc,
it is about your TWRP for G800F.
Everthing is ok, till it comes to a restore of a TWRP backup.
After the restore the S5 Mini is in a bootloop.
I have tried it with the version August 2015 and March 2016.
Is there any solution?
Thank you.

Categories

Resources