[Q] Is there a full detail guide to rom building? - Epic 4G General

Hey guy's (please don't flame me to bad still a little new to the forums) I have looked over many guides but they don't really go over Samsung mostly HTC. I have the source from Samsung for the 2.1-update-1 and have been looking at it but not sure what i am really looking at. If anyone can maybe shed some light on it...of course i could be just confusing myself and its simpler then i think. I have been reading a paper on how to build linux from scratch to get that understanding considering Android is linux in all reality...
Thanks ahead of time guys.

Not to be mean, but unless you understand the code, all you'll be doing is copying/pasting into terminal to get a build. Which isn't very useful if you are trying to learn something.
If you are actually looking at building the OS and manipulating the underlying code, go ahead and grab a C book. It'll take even an intelligent person a good deal of time to understand it all.
As far as putting some APKs into a zip file and calling it a rom, well there's tons of stuff on that laying around, most of that is scripting. If you get into rebuiling the APKs with Smalli - there is code involved there - but you will need to know how java works for it to make sense to you there...might as well learn that while your at it.

Well i know C++/C# and java (took them in college and currently use them for my job) so it shouldn't take too long..i guess i just need to dig into the code and go from there. I don't want to copy past thats definitely out of the question. Have any pointers where i should start and see if i can grasp this or just stick with using other custom rom's which in the end if thats what i do that's fine by me just wanted to get into it myself.
PS: didn't take what you said as mean lol any criticism or help is always appreciated.

^
What he said.
There are a bunch of mini-guides to teach you to copy and paste some stuff, but little in terms of a clear concise guide. I've been working on learning to do a rom myself, but I learned to program in C and Java on unix and linux machines in college. You're going to have to spend a lot of time reading and learning things that you won't be sure you'll ever really need to in order to do any meaningful dev work with that source.
Start using linux on a home machine. Start learning C. And pick up a book called "Advanced Programming in the Unix Environment" to begin to understand how the low level parts of a linux operating system work. Then you will be much better prepared to see how it all works together.
edit: Looks like we both replied at the same time. I guess you can ignore the above post.

lol, i will look into that book for sure though. I have been slowly getting back into linux i use to use it all the time then somethings i was working on and a few apps i was using i had to switch to mostly Microsoft and lost a lot of my Linux knowledge (which sucks) but i will start there thanks again!

I think if you are familiar with the code you are ready for what you want to do. Seeing as how you are reading htc development guides tells me your searching cause that's all that you can really find online. You dont know the steps to take to actually build that source your looking at. First thing is you need your development machine set up to build. I hope youve done that already if not, source.android.com will get you through that. You need the sdk and all that. Next you hook the phone up usb debugging and from within your android folder (mydroid) run extract.sh that willful the samsung files into your environment. From here it will be similar to the htc guides for building but you have the files in front of you to edit you just need to research the structure of linux and those files. Also you need to get familiar with building a kernela well to see how they interact. Good luck
Sent from my SPH-D700 using Tapatalk

Related

want to learn how to do stuff

so i would like to learn how to do things for my phone and possibly help with the dev community. but i know practically nothing about linux or how to do anything useful. i am looking for links or other useful information to help me get started. i have lots of time on my hands and learn pretty quick. i assume i would start with the sdk (would i use the 1.5 one since thats what our phones are currently running on, or is the 2.0 out yet? and would i try from there), but other than that have no idea what else would be useful.
so.... yeah. helpful link to good info or any good e books, or anything like that that will get me going. thanks in advance
i would use the newest SDK, 2.0.1, and make sure that it will function on the emulators for both 1.5 and 2.0.1, frankly if you arent already proficient with linux or java, this wont be a easy thing to get into. However I WILL point out how threads like this are terribly pointless... you arent helping anyone out, and frankly you're asking for information that is quite available.
thanks for nothing. other than making me feel stupid.
Some help, maybe.
ix3u said:
thanks for nothing. other than making me feel stupid.
Click to expand...
Click to collapse
I've been spending quite a bit of time on the threads here, I too am in search of more information specific to the android. I don't know that I'll ever be able to contribute too much to the devs, but at least I can understand my phone better, and help out with answering questions on the forums.
I would think that starting with something like creating a theme would be a good place to start, and would get you a little more familiar with the ways of android. Then I would move up into other things, and before you know it you will be much more proficient. It's all about starting somewhere. (and having a good backup)
Here's some posts / links that I have collected that i thought might aid me when i create some time to start the same endeavor...
* Ratcom's guide to creating Theme's
http://forum.xda-developers.com/showthread.php?t=574167
* An Android Developers Guide (with tutorials, and tons of info)
http://developer.android.com/guide/index.html
* How-to's regarding android application development:
http://www.brighthub.com/mobile/google-android/topics/guides.aspx
* Tutorials and exercises
http://blogoscoped.com/archive/2007-11-19-n27.html
I haven't looked at most of those, but hopefully they will be a good start. I look forward to the day when I start looking at them too.
Hopefully that's helpful, it's all I can offer.
Good luck, and godspeed
-AndyS-
thanks., that is more like what i was looking for
jmhalder said:
i would use the newest SDK, 2.0.1, and make sure that it will function on the emulators for both 1.5 and 2.0.1, frankly if you arent already proficient with linux or java, this wont be a easy thing to get into. However I WILL point out how threads like this are terribly pointless... you arent helping anyone out, and frankly you're asking for information that is quite available.
Click to expand...
Click to collapse
Hmmm. So much for helping someone out who at least has the desire to learn and grow to be more. Communist much? or just a Liberal Democrat? I applaud him for trying. Who knows more about where to get the information other than XDA? Hell a google search on this stuff turns up mostly useless garbage anyways. Why spend hours digging it up when someone else may know a good resource.
Lets refrain from flames/rebuttals please.
I have a few FAQ's and tutorials on my site. Also checking things like my release notes and mind map (linked in v1.0 release) will help. There aren't any full on tutorials but it's just a good place for general info.
Check my sig.
As flipz stated, there's no good centralized place for organized information. The best advice is truly to search this site, and search with google. It's an uphill battle getting that base of knowledge built up to get you going. I know, I'm still working my way up the hill. I thought about putting a site together to organize and share information but that would take away too much from what little time I have to spend on rom developement.
I doub't that is really the answer you were hoping to get but unfortunately thats the grim reality of things. Perhaps someone with a lot more free time than I, will put together a site of their own and compile and organize all kinds of good information in a central place. It would truly be a boon to the android community.
obelisk79 said:
As flipz stated, there's no good centralized place for organized information. The best advice is truly to search this site, and search with google. It's an uphill battle getting that base of knowledge built up to get you going. I know, I'm still working my way up the hill. I thought about putting a site together to organize and share information but that would take away too much from what little time I have to spend on rom developement.
I doub't that is really the answer you were hoping to get but unfortunately thats the grim reality of things. Perhaps someone with a lot more free time than I, will put together a site of their own and compile and organize all kinds of good information in a central place. It would truly be a boon to the android community.
Click to expand...
Click to collapse
I'd be happy to bring some writers on to my site or to host some tutorials or anything that others have written. My job offers me a lot of flexibility and free time, however like you I am spending all of it developing right now. This kitchen is kicking my butt.
Edit: We'll see if I get any hits. http://geekfor.me/news/wanted-writers-for-faq-tutorial-help/
I may be able to help. My freetime seems to come and go, but I’ve always been pretty good at making How-To’s.
What format would be best?
html,pdf,etc…
ix3u said:
so i would like to learn how to do things for my phone and possibly help with the dev community. but i know practically nothing about linux or how to do anything useful. i am looking for links or other useful information to help me get started. i have lots of time on my hands and learn pretty quick. i assume i would start with the sdk (would i use the 1.5 one since thats what our phones are currently running on, or is the 2.0 out yet? and would i try from there), but other than that have no idea what else would be useful.
so.... yeah. helpful link to good info or any good e books, or anything like that that will get me going. thanks in advance
Click to expand...
Click to collapse
Good thread, thanks for starting it.
I'm in a pretty similar spot. 2 weeks ago I had zero exposure to or knowledge about Android or Linux. I'm proficient with Windows. In the last 2 weeks I've rooted, flashed RA 123, 151 & then 152. I backed up, ran an optimizer .zip file, restored, flashed fresh 1.0 and learned some very cool stuff. I'm comfortable in the terminal but I'm getting to where I'm not sure what I should or want to learn next. Also, although I've done these things easily half of it was just copying instructions from one of the fantastically helpful posts on this forum. Before I learn what to do next I'd like to understand the system better. I checked out wiki and ended up bookmarking a page that explains kernal computing, and a few others, lots of reading ahead
As a noob I have tried to learn without getting in the way too much. I'm glad you admitted your noobness and asked for some direction, you're not the only one who could use it!
obelisk79 said:
As flipz stated, there's no good centralized place for organized information. The best advice is truly to search this site, and search with google. It's an uphill battle getting that base of knowledge built up to get you going. I know, I'm still working my way up the hill. I thought about putting a site together to organize and share information but that would take away too much from what little time I have to spend on rom developement.
I doub't that is really the answer you were hoping to get but unfortunately thats the grim reality of things. Perhaps someone with a lot more free time than I, will put together a site of their own and compile and organize all kinds of good information in a central place. It would truly be a boon to the android community.
Click to expand...
Click to collapse
Sounds like what the original replyee said but said much more tact.
I'm hoping that was a compliment in a round about way.
THIS is an amazing resource. I've stopped in there before but wasn't ready to poke around too much.
I'll see you guys/gals in the spring!
I'd like to offer some insight, but there's really not much more I could add than what's already stated and linked above. Everything you need to know can be found (usually) easily on the android developer site, or in a google search. The hard part is putting those pieces together to know what needs to be done in order to accomplish what. That's not an easy task: check out cyanogen's github projects (http://github.com/cyanogen). He's made modifications to the kernel, Android applications, core frameworks, configurations, recovery images, packaged resources/images, and more. It's not just one piece that goes into these builds.
Most of what you see around here (and this is certainly not to take away from all the great work I'm referring to, because this is just as important as everything else), are people modifying what was already done somewhere else, and making it work for their own phone. And really that's all it takes to move progress forward.
You don't have to be a linux whiz or a Java programmer to be able to make progress with your phone- you just need to understand how each particular piece works in order to make progress on that piece. If you want to make a theme, you need to know what jar or apk files contain the resources, and how to replace those images and styles. If you want to add support for the camera you need to know what linux driver it should use, and how Android expects to interact with that driver. Same for supporting accelerometer sensors, etc.
There's no definitive checklist of things you have to know before you can help development, it just depends on what what you want to help with, and your willingness to research how that particular piece works and what it would take to make the necessary changes.
maejrep,
Informative and encouraging. Thanks!

[Q] How to port or improve hero roms ??

Hi,
Right now i am learning programming, I am interested joining hero ROM development. Are there any short tutorials that I could use or something that would help me to start with.
Thank you
There's quite a lot of foundations to build before you will start to see anything above ground level
Cyanogenmod is the foundation of most ROMs. Their Wiki is a good place to start. They have a lot of tutorials on setting up. For example, look for:
Overview_of_Modding
Howto Install_the_Android_SDK
Building_from_source
Howto Install_Kernels
These pages will give you an overview.
In terms of the programming side, this requires a lot of experience. It will take some time for you to be able to make major contributions.
But having said that, once you have a decent knowledge of C and some understanding of kernel source structure, you can read the source. Look at what others have done and try to understand what is going on.
Get hold of a recent book on kernel programming, such as
Linux Kernel in a Nutshell (Greg Kroah-Hartman - O'Reilly)
Linux Kernel Development (Robert Love)
These are not beginners books, but they do get into the subject at a reasonable pace once you have enough knowledge to start. I think anyone serious about doing kernel work is going to have to learn this sort of stuff to really understand what they're tinkering with.
I don't want to discourage you. Just don't underestimate the size of the task. As a beginner, the best contribution you can make is as a tester. Learn the issue tracker system, make a name submitting clear bug reports. This is not glamorous, but essential for a ROM project.
I found this book very interesting:
Linux Device Drivers
http://lwn.net/Kernel/LDD3/
And thanks codeazure, I'll check those two out as well
codeazure said:
There's quite a lot of foundations to build before you will start to see anything above ground level
Cyanogenmod is the foundation of most ROMs. Their Wiki is a good place to start. They have a lot of tutorials on setting up. For example, look for:
Overview_of_Modding
Howto Install_the_Android_SDK
Building_from_source
Howto Install_Kernels
These pages will give you an overview.
In terms of the programming side, this requires a lot of experience. It will take some time for you to be able to make major contributions.
But having said that, once you have a decent knowledge of C and some understanding of kernel source structure, you can read the source. Look at what others have done and try to understand what is going on.
Get hold of a recent book on kernel programming, such as
Linux Kernel in a Nutshell (Greg Kroah-Hartman - O'Reilly)
Linux Kernel Development (Robert Love)
These are not beginners books, but they do get into the subject at a reasonable pace once you have enough knowledge to start. I think anyone serious about doing kernel work is going to have to learn this sort of stuff to really understand what they're tinkering with.
I don't want to discourage you. Just don't underestimate the size of the task. As a beginner, the best contribution you can make is as a tester. Learn the issue tracker system, make a name submitting clear bug reports. This is not glamorous, but essential for a ROM project.
Click to expand...
Click to collapse
Thanks for good explanation Yap I know it's hard to start since I am beginner. But because I have lot of time and Have "HTC Hero" I think I'll go for it...
Thanks again.

[Q] developing roms, where to start?

With the newly deodexed honeycomb I have gotten the itch to start looking into how to create/develop my own rom.
What is the best way to start learning, is there a good starting point, I have been doing some reading but it just seems so overwhelming.
I do have basic Linux knowledge and can whip up a linux VM in no time to get crackin. I have been modding my EVO for the last year so i know how to be a "user" and have tinkered with the xoom but have only scratched the surface.
So my question is just this, Where to start??
any input would be helpful.
+1!
need a little walkthrough too :S!!
and someone can say what files NEVER EDIT to not brick the xoom!!
i too would be highly interested in learning what steps to take.
bossjeeves said:
With the newly deodexed honeycomb I have gotten the itch to start looking into how to create/develop my own rom.
What is the best way to start learning, is there a good starting point, I have been doing some reading but it just seems so overwhelming.
I do have basic Linux knowledge and can whip up a linux VM in no time to get crackin. I have been modding my EVO for the last year so i know how to be a "user" and have tinkered with the xoom but have only scratched the surface.
So my question is just this, Where to start??
any input would be helpful.
Click to expand...
Click to collapse
Get that VM set up, and get your environment set up so you can build AOSP.
Look through the source so you know what parts of Android are found where in the tree.
Learn a little about the platform, what does what...
Basically, just get your hands dirty.
ydaraishy said:
Get that VM set up, and get your environment set up so you can build AOSP.
Look through the source so you know what parts of Android are found where in the tree.
Learn a little about the platform, what does what...
Basically, just get your hands dirty.
Click to expand...
Click to collapse
so this is kind of what I expected for an answer but I would like a little more if you dont mind.
Like maybe a couple of links pointing in the right direction, like what does the environment need for tools etc.
ydaraishy said:
Get that VM set up, and get your environment set up so you can build AOSP.
Look through the source so you know what parts of Android are found where in the tree.
Learn a little about the platform, what does what...
Basically, just get your hands dirty.
Click to expand...
Click to collapse
That's like saying jump in a lions den and see what ticks him off. Can we get more details please? I want to get into theming and want to know the ideal OS to do it on. I was hoping on doing it in Linux but want advice from themers.
IV been playing hippie for a couple of weeks so I don't know if I missed something but, unless the full AOSP source has been released, a deodex rom will help with nothing but theming.
You can't do much to customise a ready built rom, and you would be wasting your time to try anything but the simplest of mods.
That being said, if you're happy to play with smali you might achieve a little more.
Sent from my HTC Desire using Tapatalk
alias_neo said:
IV been playing hippie for a couple of weeks so I don't know if I missed something but, unless the full AOSP source has been released, a deodex rom will help with nothing but theming.
You can't do much to customise a ready built rom, and you would be wasting your time to try anything but the simplest of mods.
That being said, if you're happy to play with smali you might achieve a little more.
Sent from my HTC Desire using Tapatalk
Click to expand...
Click to collapse
this is exactly what I am talking about here, This is kind of why I brought it up in the xoom forum, since we dont have source and we do have a deodexed rom wouldnt playing with that be a great place to start? if so like what would be the best place to start, you say play with smali, now I know I can google and get tons of answers but I am asking to explain a little more because I trust the feedback from here and I think others might benefit also
bossjeeves said:
this is exactly what I am talking about here, This is kind of why I brought it up in the xoom forum, since we dont have source and we do have a deodexed rom wouldnt playing with that be a great place to start? if so like what would be the best place to start, you say play with smali, now I know I can google and get tons of answers but I am asking to explain a little more because I trust the feedback from here and I think others might benefit also
Click to expand...
Click to collapse
Smali is a tool that will reverse engineer (baksmali) dalvik byte code into (barely) human readable code. If you can learn to understand this you can reverse and modify stuff with it. If i remember right, brut.all is the guy responsible, have a read around, but i warn you, its not for the feint of heart.
Macbots drool as I XOOM through the Galaxy to my hearts Desire.
bossjeeves said:
this is exactly what I am talking about here, This is kind of why I brought it up in the xoom forum, since we dont have source and we do have a deodexed rom wouldnt playing with that be a great place to start? if so like what would be the best place to start, you say play with smali, now I know I can google and get tons of answers but I am asking to explain a little more because I trust the feedback from here and I think others might benefit also
Click to expand...
Click to collapse
Here is one of the best sources I've found....... made by cyanogen himself, tonnes of info here.
http://forum.xda-developers.com/showthread.php?t=667298
I did come across this link http://simply-android.wikia.com/wiki/ROM_Development
looks like something that would be a helpful start. thoughts?
ps thanks for the replys
I think the best way to learn anything is just to read a lot, and to search for any questions you have. There are a thousand ways to learn to hack, but they all require the initiative to find answers on your own.
Sorry if this sounds patronizing. I always hated it when I get on a board and ask for something, and some curmudgeon geek tells me "Google is your friend". But it's true. You get better answers faster, as you can avail from the entire Internet, as opposed to the small number of people who reply to your query.
Thanks to the dude who linked to the Cyan advice post. My takeaway is this one line:
"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."
IMO if you are serious about ROM hacking, you need a dedicated linux environment. Cygwin is OK for run-time stuff, but too limited for anything else. If you only want to run basic bash commands, a simpler solution is win-bash (http://win-bash.sourceforge.net).
I'm kinda in the same shoes you are. Android interests me, although I don't have a Xoom or an Android tablet for that matter. Was gonna get a HC tab to tinker, but HC is still too green, so decided on a Nook Color for educational purposes. It's been out a while, and has many hacks already done that I can peruse. That, and it'll be useful for my "read a lot" mantra above.

[Q] Self Improvement - Where to start?

My wife is on a 2 month vacation and I'm about to have a lot of spare time....
I want to learn the android platform properly from the ground up.
I own a TF and an HTC HD2. I have already been through the learning curve of rooting, flashing ROMs, installing CWM, pushing and pulling files with ADB and setting permissions - but I've always done this by following instructions from other on threads here at XDA. I'm skilled with computing in general (particularly telephony, networking and web) but am pretty N00bish with Linux and currently suspect that Java is witchcraft.
I try really hard to look stuff up for myself instead of asking questions so please be nice because I'm not asking for a handout. There are so many threads on here and I don't know which are still relevant etc...
Can anyone please direct me to some resources for learning the real "nuts and bolts" of Android?
I have a couple of months to work really hard at this and then I will try and contribute as much back to the community as I can.
Read all of Googles documentation on Android if you wanna know about it. Read man pages and everything else if you wanna learn Linux.
eli.kennedy said:
My wife is on a 2 month vacation and I'm about to have a lot of spare time....
I want to learn the android platform properly from the ground up.
I own a TF and an HTC HD2. I have already been through the learning curve of rooting, flashing ROMs, installing CWM, pushing and pulling files with ADB and setting permissions - but I've always done this by following instructions from other on threads here at XDA. I'm skilled with computing in general (particularly telephony, networking and web) but am pretty N00bish with Linux and currently suspect that Java is witchcraft.
I try really hard to look stuff up for myself instead of asking questions so please be nice because I'm not asking for a handout. There are so many threads on here and I don't know which are still relevant etc...
Can anyone please direct me to some resources for learning the real "nuts and bolts" of Android?
I have a couple of months to work really hard at this and then I will try and contribute as much back to the community as I can.
Click to expand...
Click to collapse
Wow. You sound like me coming jumping into DOS back in the day. There are plenty of books available (and XDA of course) but ya know.....I learned more from screwing up my old IBM 8088 (orange display...yikes!) than almost anything else. Having the possibility of an expensive paperweight tends to REALLY motivate one to learn!
You're in the right place, IMO, for specific task-assistance. (If ONLY XDA existed in the early-mid 80's!) There's a wealth of information and tons of good people who were where you are now. Willing to pay it forward....search the forums and ask.
Reading...experimenting...reading....experimenting....and of course...BACKING UP are great tools and habits.
i had an old computer from work and installed Ubuntu on it to mess around with linux. I haven't tackled java yet, but that is on the agenda. Get familiar with the command line!

2D Game Development Tutorial (Need Opinions)

I am planning to write an Android tutorial on developing the basics for a 2D game. As part of this project, I would like to ask the development community for their input. I want to know what issues are important, what struggles you have previously faced, or what problems you have seen in the past with other tutorials. I hope to make mine simple and straight forward, and I want it to address important issues that many have had with other tutorials.
So I ask you, please give me your opinions. Tell me what to avoid, tell me what to focus on, tell me anything. I want to make it easy for anyone to understand, even those who have never developed for Android before, so all opinions are welcome.
Thanks!
one problem i had with tutorials is it gets quite confusing when using eclipse and stuff. I dont have any codeing knowlege, so that didnt help. Another thing is that the tutorials are always really long
hope that helped...
Sent from my SGH-T959 using xda premium
It would be great if you write a Game Development tutorial for Android. Because I don't even know how to start.
Things you might take into consideration:
- Give examples based on an IDE (Showing screenshots of code and the IDE)
- Maybe use an existing 2D Game framework? (So it's easier to start, AndEngine?)
I always find that a lot of tutorials just write a bunch of code. you can copy it and it magically works.
You don't get to know why it works or how you can let it work in another scenario.
I personally like screenshots of the IDE or a part of the code to get a glimp of how I'm doing compared to the writer.
And just a tutorial which is from start to finish, with this I mean start at the Main Menu and end at the score screen.
Hope this might help you in your tutorial, It's just my 2 cents of thing I would like to see in a tutorial maybe other share this idea.
Any idea when you will start/finish this project?
Goodluck!

Categories

Resources