[Q] How Do The Devs Do It (And How Can I?) - EVO 4G Q&A, Help & Troubleshooting

So here's something that I've been wondering about: How does one gain the knowledge to develop one's own ROM? Say I wanted to get the AOSP source from Google and start building my own ROM: How would I even go about that? Is there a manual somewhere? Does every dev just have a CS degree and all the right tools lying around? Where do you start?

http://www.youtube.com/watch?v=94Az1kcQvc4
Watch the video it will show you how to create a custom rom.

http://forum.xda-developers.com/showthread.php?t=633246
here is the kitchen. It is pretty fun and frightening once you get to repackaged and start the boot.
Have fun!!!!

Thanks guys.
EDIT: Looks like fun, I'll play with the kitchen, but it looks like this isn't really the way to get an AOSP ROM built up from the Google public source. No problem, I'll start slow, but eventually I do want to get out of the kitchen and under the hood. Thanks for the quick start!

SilverZero said:
Thanks guys.
EDIT: Looks like fun, I'll play with the kitchen, but it looks like this isn't really the way to get an AOSP ROM built up from the Google public source. No problem, I'll start slow, but eventually I do want to get out of the kitchen and under the hood. Thanks for the quick start!
Click to expand...
Click to collapse
great!!! I'm gonna hit you up for future requests

If you want to play with AOSP source, I'd look at getting involved with Cyanogen. There are articles on setting up and building from source on their wiki.

the way i'm trying to do it, is i just am taking it really slow. i started as a noob (of course) and slowly worked my way up the q&a section, from asking questions to answering them. then, i started doing small requests, and things for myself, like zips and stuff. then started small themeing, and finally xml themeing. i'm sorta at the apk heavy modding stage now lol. so that's my stragegy.

shoudln't there be some website by now where you can just click some checkboxes for the features you want cooked into a rom, compiles it, and makes it downloadable. wouldn't that be the sheezy?

HonkeyGenius said:
shoudln't there be some website by now where you can just click some checkboxes for the features you want cooked into a rom, compiles it, and makes it downloadable. wouldn't that be the sheezy?
Click to expand...
Click to collapse
umm... why?

HonkeyGenius said:
shoudln't there be some website by now where you can just click some checkboxes for the features you want cooked into a rom, compiles it, and makes it downloadable. wouldn't that be the sheezy?
Click to expand...
Click to collapse
it is called a kitchen. Modaco had one on his site for the hero.
But really...don't be lazy. using DSIXDA's kitchen isn't hard, and it really doesn't take much effort, plus you have the ability to REALLY customize stuff.

Interesting thread. A bit tempted to step into the kitchen. Thanx for all the info folks.

Related

Key Files Chart

A few changes:
Alright so first off after seeing that this actually got some response, I'm opening it up for other people to edit as well. Hopefully we can figure out a way to do this responsibly... But I figure a community effort on this is much more valuable (especially because my theming is a bit rusty)
Key Files Chart
I am also gonna start modelling this off of a Cyanogen build because those builds seem to be the most poplar now. Keep in mind that much of what works in one theme translates well to most others.
--------------------------------------------------------------------------------------------------------------------
Original Post:
Hey guys so here is what I've been working on.
(Use new Link Above)
Its pretty much a simple list of locations of files that are essential to theming and what they control. This is definitely meant to be simple and geared more towards beginners. I think the thing that was hardest thing for me to learn theming was finding out where specific files were. So hopefully this might help bring down the learning curve.
Plan is to keep on updating this as long as there is interest and questions that people raise. Most of this is from my, relatively, limited knowledge of theming so if anyone else wants to jump in on this, I would be more than happy to add you as a collaborator (thats right, YOU!).
Also, I have this written according to how I know Haykuro's Builds work (because thats the version I use). If things are similar enough to other builds, it shouldn't be too hard to compile a master list across all three 1.5 builds. Let me know. : )
what a great idea! I wish this would have been available to me when I started my first theme! good work
Haha thanks. I been lax bout it lately cuz it really doesnt seem to be catching on at all. Ill wait and see if anymore interest builds up before continuing to update.
Hi!
I would be interested in an update I have been wading through a ton of information, I want to make a theme myself and I have just finished setting everything up properly on my system. I have seen how many image files there are to sort through and the names would be a great help, and I think, a good idea for others too
RainCrow said:
Hey guys so here is what I've been working on.
http://spreadsheets.google.com/pub?key=r_ua-t_U23ci5_oxwQ4mGrg
Its pretty much a simple list of locations of files that are essential to theming and what they control. This is definitely meant to be simple and geared more towards beginners. I think the thing that was hardest thing for me to learn theming was finding out where specific files were. So hopefully this might help bring down the learning curve.
Plan is to keep on updating this as long as there is interest and questions that people raise. Most of this is from my, relatively, limited knowledge of theming so if anyone else wants to jump in on this, I would be more than happy to add you as a collaborator (thats right, YOU!).
Also, I have this written according to how I know Haykuro's Builds work (because thats the version I use). If things are similar enough to other builds, it shouldn't be too hard to compile a master list across all three 1.5 builds. Let me know. : )
Click to expand...
Click to collapse
This is great; although I am new to Android themes, I have extensive experience with BB themes, although that is the "apples to oranges" scenario. Plazmic of course does the grunt work in those, but I have written svg's for animation, hidden docks etc. Hopefully that will help me catch on at a faster rate compared to never having done that sort of thing. So any info you can pass along is much appreciated!- Chris aka riffman
TY
Awesome work. You just simplified SO much of what I was not looking forward to.
I would like an update as well. I am lost sometimes. lol
I'm good on what most of the .png files control, but if you could make one for the .xml files in framework-res.apk/res/layout that would be killer.
Haha wow. Five months later I'm seeing this thread actually got some feedback (And linked on the "Helpful Threads" sticky to boot). I was considering making the document an open project and just working on maintaining the structure if that sounds helpful to people because there are plenty of things that I would like to know as well (like .xmls)
EDIT: Alright I just changed it to open system so that anyone can edit it. I should probably also change the name off from Haykuro seeing as how hes out of the running now...

[KITCHEN] Basic ROM kitchen for aspiring Hero cooks [PC/MAC]

For anyone who missed it, this is just a reminder link to the original thread, which has now been moved to the 'Chef Central' section:
http://forum.xda-developers.com/showthread.php?t=633246
The kitchen was originally written for the Hero, but now covers all HTC Android-based GSM ROMs.
Before flashing any ROM from the kitchen, please make a Nandroid backup first of your existing ROM!
Thank you, and enjoy!
Just want to say thanks for your work on this kitchen dsi, could not post in the original thread.
The only thing im not happy about is the fact that its stopping me getting on with other things I should be doing Instead im messing around with ROMs all the time lol
There is one thing thats bugging me, im getting all my customisations working but how do i change the default homescreen of a ROM?? I know this isnt really something done in the kitchen but its bugging me. Im just having to store the wallpaper on the SD card atm.
dsixda said:
For anyone who missed it, this is just a reminder link to the original thread, which has now been moved to the 'Chef Central' section:
http://forum.xda-developers.com/showthread.php?t=633246
The kitchen was originally written for the Hero, but now covers all HTC Android-based GSM ROMs.
Before flashing any ROM from the kitchen, please make a Nandroid backup first of your existing ROM!
Thank you, and enjoy!
Click to expand...
Click to collapse
Awesome work of course, glad the kitchen's become so popular. I'll hopefully be seeing you in the Nexus section from tomorrow!
werziluk said:
Just want to say thanks for your work on this kitchen dsi, could not post in the original thread.
The only thing im not happy about is the fact that its stopping me getting on with other things I should be doing Instead im messing around with ROMs all the time lol
There is one thing thats bugging me, im getting all my customisations working but how do i change the default homescreen of a ROM?? I know this isnt really something done in the kitchen but its bugging me. Im just having to store the wallpaper on the SD card atm.
Click to expand...
Click to collapse
It's one of the XML files in the system/etc folder. Can't remember which off the top of my head but I can have a look after work if you haven't found it by then.
TheAshMan said:
Awesome work of course, glad the kitchen's become so popular. I'll hopefully be seeing you in the Nexus section from tomorrow!
Click to expand...
Click to collapse
Nice to know! Keep those tips and suggestions coming!
Discussion continued in main thread:
http://forum.xda-developers.com/showthread.php?t=633246

[Q][DEV] What are you using to make the roms? [Software or whatnots]

I was curious to what you the Developers of the awesome stuff we have for the Epic are using? Are you using the SDK tools we get from Google to make new things? Or are you using some other stuff? I kind of want to make some stuff but I don't know how?
Can you tell me what you used or are using to get where you are now? How do you do it? Can you tell me where or something?
Anything would be helpful.
And please no random "I want to know this too" or arguing to whats better? That would be saved for another post/thread. I do apologize if this is a repeat thread. I didn't see it on the front. I think this should be though.
I'm not at my computer at home right now, I'll update it later all of the apk tools.
1) Version control - I use subversion
2) Diff tool - I use beyond compare
3) Zip tool - I use 7zip
4) Issue tracking - I use Google code
5) Text editor - gVIM
6) Graphics - Photoshop CS5
I am curious as well.
Plapczyn, do you know of any tutorials on developing ROMs for the Epic? Does it require a lot of coding?
Source.google.com
Read it follow instructions to get and compile code. That lets you build a rom from source code where you can alter the os. The only source code that is released for the Epic is 2.1 As of now. If you have specific problems with doing any thing in their directions pm me.
Sent from my SPH-D700 using Tapatalk
ryno502 said:
I am curious as well.
Plapczyn, do you know of any tutorials on developing ROMs for the Epic? Does it require a lot of coding?
Click to expand...
Click to collapse
There are lots and lots and lots of tutorials. Google is your friend.
It doesn't require much coding, but you can do plenty of coding if you want.
Will check it out, thanks.
I was just curious because I am not much of a programmer. XHTML, CSS, and Basic PHP is about my limit lol.
These might help...
http://forum.xda-developers.com/showthread.php?t=667298
ryno502 said:
I am curious as well.
Plapczyn, do you know of any tutorials on developing ROMs for the Epic? Does it require a lot of coding?
Click to expand...
Click to collapse
If you want to make roms, check out the Chef Central forum here on XDA. There are threads with a lot of info on how to do things. Also, you should check out what is going on the other Galaxy S forums. If you want to do dev stuff, you first need to figure out what you want to do, and then go from there. Making a rom (actually any development really, agnostic of device or system), is more about making and pulling in small incremental changes and testing them.
That's the best advice I can give you...is to always break things down into small incremental changes that can be tested in between. Use source control and CHECK IN your changes. This goes for simply swapping out pngs in apks, or doing kernel mods. That way, you always know where your latest working copy is and you what changes caused your system to break...which it inevitably will. Nobody codes things correctly the first time every time. We all have the urge to just make a whole bunch of changes at once and see if it works. The thought is that we don't have enough time to test everything in between. Trust me, you will spent 5 times more time fixing bugs by doing it this way, over just doing it right the first time.
thats good advice plapczyn, thank you. I will evaluate what I want to do and go from there. my #1 priority is app developement, to better my resume and help with my career, but I am interested is possibly experimenting in ROMs too.

Rom Development / Modding How to get started?

Hey everybody,
I recently bought the galaxy nexus because I wanted to start getting into Rom Development.
I can programm Java and also programmed some simple apps..
But what I really wanted to do is to modify a Rom.
Can anybody tell me where to start? I read guides on how to compile from source and so on, but I don't know if that's what I need.
I want to add things like Notification bar quick settings to the rom.. Are there tutorials on how to develop these things?
Every help is appreciated, maybe you've got some great links for me, thanks!
00hero00 said:
Hey everybody,
I recently bought the galaxy nexus because I wanted to start getting into Rom Development.
I can programm Java and also programmed some simple apps..
But what I really wanted to do is to modify a Rom.
Can anybody tell me where to start? I read guides on how to compile from source and so on, but I don't know if that's what I need.
I want to add things like Notification bar quick settings to the rom.. Are there tutorials on how to develop these things?
Every help is appreciated, maybe you've got some great links for me, thanks!
Click to expand...
Click to collapse
start with decompiling apks (SystemUI.apk and framework-res.apk for example) , if u've wrote android apps before (and u said u did), then it shouldn't be that hard to look into the .xml and .jar files. when u finish, compile the .apk back. if u've worked with Eclipse then u probably know the android structure.
Edit: Here is an example of a "ROM modification" - just posting it to give u an example..
Well first thing is first. You need to have the bare basics of Android thoroughly understood obviously. Often overlooked as a first step in this process, just learning about(different than knowing about)the Android Open Source Project first will give you a specific sense of direction, purpose, as well as an identity in the community..
So again- I don't just mean knowing about it- I mean knowing exactlyhow the whole project is structured. Read about all the different types of contributions you/anyone can make to the Android ecosystem. Are you an aesthetics kind of person who would excel at UI designs for apps or whatever; Are you a person who has a good eye for problem solving? Maybe you should be scouring source code, trying to fix little-noticed "bugs" that "bug" the hell out of you. Once you know what you want to do, make sure you find out exactly how much Google provides for you, and what your own roles/responsibilities would be in the whole scheme of things.) This should give you a good idea of where you might fit in (with your current skill-set)and hopefully, it gives you some inspiration about the direction you might want to take it in the future.
Once you do this and "find your calling", post back here, and I'm sure that others qualified in that field will be more than happy to share how they got started.
There is no substitute to just jumping in and trying things though. Everybody makes their own journey differently, so do what comes naturally, and you can't go wrong.
Here ya go
http://forum.xda-developers.com/showthread.php?t=1661770
and maybe this as well?
http://www.xda-developers.com/andro...rs/ShsH+(xda-developers)&utm_content=FaceBook
Wow thank you every body for these great comments! I think I'll compile a Rom from source first and look through all the files..
Decompiling apks looks interesting too.
Thanks for the fast responses & links, you're awesome!
Okay so I've got another question..
One thing I always liked on some custom roms was the lockscreen flashlight..
If I would hold power for 3 seconds, the flashlight would turn on until I let go the power button.
I decompiled the framework-res.apk but didn't find anything there, just .xml files.
Where are the files where I can actually code / programm something for the lockscreen?
Try android.policy.jar
Usually the jar files contain the code, xml are for visual stuff.
But my question is, are u sure it is a lockscreen feature? (I mean the torch option) . Tbh this is the first time i hear of such a mod and i've been using android devices for over 2 yrs
Sent from my Galaxy Nexus using xda premium

[Q] Adding phone functionality to "inactive phone rom"

Hey everyone, I have a couple of questions. First off as you can see from my post count I'm a lurker. I can remove/install ROMs, the basics, but never have I tried to add/remove apps or functions to one. So I've found a ROM I love, but it was designed with inactive phones in mind, to make them into second life usable music/video players. It has no phone functionality because of this. The one I'm interested in is by frickinjerms - Ubersonic - I hope I can modify others work for my personal use. Guess that should be a question too.
Would it be ok to add in phone functionality or would it be easier to find one with that already and just remove the fluff I don't want and add what I do?
As I understand it, I can just add it back in, but I'm unsure what files go back in. Is there a resource that outlines that anywhere, or can anyone throw me a bone?
Is it ok to modify the work of others for your personal use without asking, or should you seek approval first out of proper etiquette?
I've been searching through XDA and other sites looking for some basic beginners stuff for cooking up ROMs, but have only come across limited collections. I'm toying with dsixda's Android Kitchen right now, but would love to find other resources. So any pointers to learning resources would be great too.
Thanks!
For the last one, I personally believe that its not necessary to ask before modifying a rom thats for your personal use because only you will know about it anyway, and people do it all the time
You only need to ask for permission if you're reposting your personal version of someone elses rom
Sent from my PG06100
CNexus said:
For the last one, I personally believe that its not necessary to ask before modifying a rom thats for your personal use because only you will know about it anyway, and people do it all the time
You only need to ask for permission if you're reposting your personal version of someone elses rom
Sent from my PG06100
Click to expand...
Click to collapse
I figured that was likely the case I just wanted to clarify it for myself. I know people put in a lot of work on some of their ROMs and don't want to step on toes.
Thanks for the response.
You know you could use a rom that does have phone functionality. Just throwing that out there.
PlatinumPenguin said:
You know you could use a rom that does have phone functionality. Just throwing that out there.
Click to expand...
Click to collapse
Whats the point of flavors if you're forced to pick the one you don't like? Just throwing that out there.
I don't think my questions were unreasonable either. I'm not asking for someone to build me something, I'm asking for the fishing pole, not the fish.

Categories

Resources