How to learn creating custom ROM - Galaxy S II Q&A, Help & Troubleshooting

I wish to ask the expert custom ROM makers here what knowledge do I need to learn how to make custom ROMs. My background is I am a programmer and developer in windows and web applications for 15 years. So where should I start? Thank you.
Sent from my GT-I9100 using XDA Premium App

Best advice is to learn about android, learn some app development etc.
Unless you want to become a 7zip chef. That's easy.

Rawat said:
Best advice is to learn about android, learn some app development etc.
Unless you want to become a 7zip chef. That's easy.
Click to expand...
Click to collapse
Whats 7zip chef? Yes I know a little about app development with android. Android is java and I used to be Java certified since Java has been released by sun. Any other knowledge gap I need to fill? Should I learn more of linux stuffs?
Sent from my GT-I9100 using XDA Premium App

I guess you'll wanna learn some C too.
Sent from my GT-I9100 using XDA App

fenguinpower said:
I wish to ask the expert custom ROM makers here what knowledge do I need to learn how to make custom ROMs. My background is I am a programmer and developer in windows and web applications for 15 years. So where should I start? Thank you.
Sent from my GT-I9100 using XDA Premium App
Click to expand...
Click to collapse
:0 start learning "how to place the question in the right topic"...
i believe if u gonna make research and if u will pm some of the many developers here - maybe one that lives close to your area- he/she will help u out for sure with some details. i dont think they will release the details for public...otherwise use google mate.

Moved to Q&A
First best to learn about android in general. There are way too many people here who think applying a theme to a zipped stock rom makes them cool...
If you want to be regarded as a dev, stick to the coding side As you know java, smali should be simple to you..
Learn how to modify binary applications etc.
Don't fall into the lame "7zip to open the rom, drag and drop a few files, then re-zip" that some people (can they even be called people???) do... And stick away from theming something and calling it a rom.
It's just lame and not cool... But if you read up on how android works, you will get the hang quickly, and if you are knowledgeable about java, it should be easy to get going modifying things... Then you will truly join the "devs" and be one of the bunch

Related

I want to learn to develop Roms.. help me

I want explanations make me one of Android developers.
Please help me.
Preferably if they were in Arabic
I am sorry for the bad language
Go to school or teach yourself.
go to hell
dont jouk with me
PFroyjr, das harshly put man, (OUCH) hey A.D. , the best way (in a mannerable way of saying wat pfroyjr jus said man) , is to do the old fashioned trial and error! The BEST advice I can give (because I will be using it also) is to find "Android Development for Dummies" , you can either download the PDF (legally or illegally is your decision) or go to a library and find it (download is your best bet, though.) It gives very in depth info on android deving, and is a great help! Otherwise, you can download a kitchen (go to theunlockr.com and search android kitchen, or search the XDA forums for one that somebody created) and start cooking lol.! Hopefully, ur gonna git a magnificent dish. I doubt that we use the same phone but you hav my support 100% from one dev in training to another
Hope this helps,
Ognimnella
Sent from my T-Mobile myTouch 3G Slide using XDA App
thank you 4 ever
arabian developers said:
thank you 4 ever
Click to expand...
Click to collapse
No probs dude! always here to help!
Android Development for Dummies woohoo! haha
iliketoplaymusic said:
Android Development for Dummies woohoo! haha
Click to expand...
Click to collapse
IKR! Lol
Sent from my T-Mobile myTouch 3G Slide using XDA App
iliketoplaymusic said:
Android Development for Dummies woohoo! haha
Click to expand...
Click to collapse
LOL..
sorry I don't understand your question
ognimnella said:
PFroyjr, das harshly put man, (OUCH) hey A.D. , the best way (in a mannerable way of saying wat pfroyjr jus said man) , is to do the old fashioned trial and error! The BEST advice I can give (because I will be using it also) is to find "Android Development for Dummies" , you can either download the PDF (legally or illegally is your decision) or go to a library and find it (download is your best bet, though.) It gives very in depth info on android deving, and is a great help! Otherwise, you can download a kitchen (go to theunlockr.com and search android kitchen, or search the XDA forums for one that somebody created) and start cooking lol.! Hopefully, ur gonna git a magnificent dish. I doubt that we use the same phone but you hav my support 100% from one dev in training to another
Hope this helps,
Ognimnella
Sent from my T-Mobile myTouch 3G Slide using XDA App
Click to expand...
Click to collapse
Sorry it was an off day LOL. The for dummies book is good but the biggest issue I see people learning dev is Linux. Pick up a good book on Linux and setup your pc/mac with the appropriate software. Best of luck and if you have any specificquestions I know there are lots of great people here to help, but Google first
Sent from my HTC Glacier using xda premium
pfroyjr said:
Sorry it was an off day LOL. The for dummies book is good but the biggest issue I see people learning dev is Linux. Pick up a good book on Linux and setup your pc/mac with the appropriate software. Best of luck and if you have any specificquestions I know there are lots of great people here to help, but Google first
Sent from my HTC Glacier using xda premium
Click to expand...
Click to collapse
I disagree...unless your doing something with the kernel you don't need linux at all.
sent from my uncyanogen modded epic 4g. with the key skips.
You still need to understand how the system works. Side note since you mentioned kernels....most newer ROMs have certain kernels that work and some that don't. The dev process is about learning how it ALL works not just how to theme a ROM someone else made.
No offense but any moron can follow directions on how to modify someone's work and not know HOW it works. True talent is by understanding and creating something new and original even if based on someone else's idea.
Hence I say learn Linux at least enough to understand
Sent from my HTC Glacier using xda premium
ugothakd said:
I disagree...unless your doing something with the kernel you don't need linux at all.
sent from my uncyanogen modded epic 4g. with the key skips.
Click to expand...
Click to collapse
I agree with the both of them. Windows and Linux are like riding a bike vs. Riding in a car, its like 2 completely different ways of getting to the same thing, just one is faster than the other! Now my only objection to pfroyjr's statement is that http://www.cygwin.com gives windows the main pieces of Linux! I have yet to use it, but from what I understand, its probably gonna save you a couple of Gigs in PC memory vs. Partitioning your hard drive to dual boot or installing a virtual machin via Virtual Box! Unless you are talking about learning how to build a rom all the way from planting a seed to watching the tree grow, you probably don't need to know every piece of linux! Also, with the help of various things like APK manager (which breaks down the compiled XML files for editing using a regular text editor, rather than some complicated software) the sky is the limit when it comes to theming!
So, to sum up my statement, and kinda piggyback on what the other 2 said, if you just want a slightly different LOOK, then Linux is not necessary. But if your trying to take the future of ROMs to a whole new level, you either need Cygwin or, as pfroyjr said, Learn Linux!
Sent from my T-Mobile myTouch 3G Slide using XDA App

What to do after creating a rom?

I have created a rom and themed it. But i wnt some performance tweaks and some apps which i could integrate in settings.apk
Sent from my GT-S5360 using xda app-developers app
hell_lock said:
I have created a rom and themed it. But i wnt some performance tweaks and some apps which i could integrate in settings.apk
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
Looking forward for your rom..
-------------------------------------------------------------------------
Sent from my GT-S5360 using xda premium
maybe u coulf add rom control with its tweaks?
So start looking at performance tweaks and such, and if you are adding some stuff to pre-compiled APKs then look into smali and the tools you need to use to manipulate it.
thewadegeek said:
So start looking at performance tweaks and such, and if you are adding some stuff to pre-compiled APKs then look into smali and the tools you need to use to manipulate it.
Click to expand...
Click to collapse
Smali is too hard for me! I only undrstnd xml
Sent from my GT-S5360 using xda app-developers app
hell_lock said:
Smali is too hard for me! I only undrstnd xml
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
If all you understand is XML then you are going to be hard pressed as what you want to do will need to be done by editing the smali or the Java source code
Sent for a corner cell in Arkham
[RANT]
Oh boy...I just love it when people start saying
"I'm building a ROM", "I'm doing dev work", "I want to be a recognized developer"
Then I make suggestions and I get "That's too hard", "Do you have a download link" "Cn u teac me hw mak a custm kernel?"
Yet they are totally unwilling to actually invest some time into these things and LEARN it.
Guy's Rome wasn't built in a day, and your ROM isn't going to be either. Look around, read, SEARCH SEARCH SEARCH. Download other people's stuff not just to Kang it, rename/re-post it under your name, but to LEARN, to figure out how it works, so you can UNDERSTAND. This isn't like a store, where you walk in and go "I want one of those, and I'll take one of them, and please get me that, where can I find this, etc, etc." Make little modifications, tweaks on top of tweaks, and keep doing that until it's soemthing new, soemthing different, and THEN post it. But please don't limit yourself, to what is "Easy" or "Comfortable", it's not the way to get anywhere with real development work, much less in life. Put some time into it, and some effort. I really do wish you all luck, but you guys have to stop looking for the easy way to get some quick credit.
[/RANT]
@OP I know of zero performance modifications that you can do in XML, and if you are looking to use someone else's work and use that then start searching and make sure you ask before you use it.
thewadegeek said:
[RANT]
Oh boy...I just love it when people start saying
"I'm building a ROM", "I'm doing dev work", "I want to be a recognized developer"
Then I make suggestions and I get "That's too hard", "Do you have a download link" "Cn u teac me hw mak a custm kernel?"
Yet they are totally unwilling to actually invest some time into these things and LEARN it.
Guy's Rome wasn't built in a day, and your ROM isn't going to be either. Look around, read, SEARCH SEARCH SEARCH. Download other people's stuff not just to Kang it, rename/re-post it under your name, but to LEARN, to figure out how it works, so you can UNDERSTAND. This isn't like a store, where you walk in and go "I want one of those, and I'll take one of them, and please get me that, where can I find this, etc, etc." Make little modifications, tweaks on top of tweaks, and keep doing that until it's soemthing new, soemthing different, and THEN post it. But please don't limit yourself, to what is "Easy" or "Comfortable", it's not the way to get anywhere with real development work, much less in life. Put some time into it, and some effort. I really do wish you all luck, but you guys have to stop looking for the easy way to get some quick credit.
[/RANT]
@OP I know of zero performance modifications that you can do in XML, and if you are looking to use someone else's work and use that then start searching and make sure you ask before you use it.
Click to expand...
Click to collapse
This.
You won't develop a ROM overnight. Go learn some real programming and stop compiling other peoples work and making a ROM that is "your own."
Sent from my HTC One X using xda premium
rohan32 said:
This.
You won't develop a ROM overnight. Go learn some real programming and stop compiling other peoples work and making a ROM that is "your own."
Sent from my HTC One X using xda premium
Click to expand...
Click to collapse
Who are you referring it to? I cooked a rom and I think that I have made the rom. Of you don't have anything to help me then please don't comment. I don't understand smali but I know how to read tutorials and add more features in the rom by smali editing like swipe to remove, 14 toggle etc.
Sent from my GT-S5360 using XDA
I never ask for an easy way out. I add features in my rom manually!!
Sent from my GT-S5360 using XDA
He was being helpful, he is bringing up a attitude that is rampant here on XDA, namely the "cooking" of ROMs. There are WAY too many people who just cook a ROM in a kitchen and claim to have "developed" it. No, you just re-packaged somebody's work, it's not the same thing. I'm not saying it's useless, but it causes way to many "developer" wanna-be's that just aren't interested in actually learning something. Up above we posted suggestions and you responded with
Smali is too hard for me! I only undrstnd xml
Click to expand...
Click to collapse
That creates the impression that you aren't wanting to try any other methods for creating ROMs. If you were trying to say that you don't know smali, then maybe you should have said something like,
I don't know smali so I'm not sure how well I could implement features like that. Do you guys have any suggestions?
Click to expand...
Click to collapse
Not only is that easier to read, but it also communicates much more clearly what you are trying to say/ask. But the way that post is currently worded it makes it sound like you are just wanting to re-package somebody's work and use it as your own.
thewadegeek said:
He was being helpful, he is bringing up a attitude that is rampant here on XDA, namely the "cooking" of ROMs. There are WAY too many people who just cook a ROM in a kitchen and claim to have "developed" it. No, you just re-packaged somebody's work, it's not the same thing. I'm not saying it's useless, but it causes way to many "developer" wanna-be's that just aren't interested in actually learning something. Up above we posted suggestions and you responded with
That creates the impression that you aren't wanting to try any other methods for creating ROMs. If you were trying to say that you don't know smali, then maybe you should have said something like,
Not only is that easier to read, but it also communicates much more clearly what you are trying to say/ask. But the way that post is currently worded it makes it sound like you are just wanting to re-package somebody's work and use it as your own.
Click to expand...
Click to collapse
This is very true, I'm new to porting and I'm starting with porting so I can learn the ins and outs of a rom so at a later time I can learn to develop, even in porting I've had to back smali and make some edits to get things working so sooner or later you will have to as well.. I'm currently reading a begginers guide on java for android.. Google is my best friend and I'm trying to learn as much as I can because I have an idea of my 'ideal' rom.. I can't wait for someone else to do it so I can port it and I know it will never be the way I want.. I'm doing it mainly for myself and I hope one day I can share with others
Sent from my Nexus S 4G using xda premium
Best thing to do is get on the good side of a dev and ask them to teach you, I had great help from some of the best devs on XDA, but as above its not something you can just learn easily, I already had a pretty good knowledge of Java and XMLs etc before i got a smart phone lol, If you stick to it then you should get somewhere, Java is a pain in the ass though, editing .smalis is probably the hardest thing for a new dev
Think About It
TO GET STARTED
Fix Bugs
Test it,
Decompile APKS and modify them if you have permission
Add features and tweaks
Put it up on git.
Help YOUR USERS and stop asking silly questions
snowman77 said:
TO GET STARTED
Fix Bugs
Test it,
Decompile APKS and modify them if you have permission
Add features
Put it up on git
Help YOUR USERS and stop asking silly questions
Click to expand...
Click to collapse
Done all dat.. Srry to ask dis question. Seems like people here are not helpful. Everyone is a flamer.
Sent from my GT-S5360 using XDA
hell_lock said:
Done all dat.. Srry to ask dis question. Seems like people here are not helpful. Everyone is a flamer.
Sent from my GT-S5360 using XDA
Click to expand...
Click to collapse
I haven't seen one post of someone flaming you in this thread. We tried to give you some advice and you said it was too "hard" so we all shut up and left you alone.
thewadegeek said:
I haven't seen one post of someone flaming you in this thread. We tried to give you some advice and you said it was too "hard" so we all shut up and left you alone.
Click to expand...
Click to collapse
I prefer bein left alone so pls dont comment again..
Sent from my GT-S5360 using XDA
hell_lock said:
I prefer bein left alone so pls dont comment again..
Sent from my GT-S5360 using XDA
Click to expand...
Click to collapse
Well then you shouldn't have started the thread, I'm not trying to "flame" by any means... but if you wanna add some performance settings and mods I'll give you some advice thewadegeek gave me, take a look at aokps or cm9 or whoever's git repo you feel has some similar features to those you wish to add and start there, you'll get a good understanding of how everything works... at that point it comes to the fine details and making sure everything works.. when you have issues at that point you then can ask for help on getting the fine details fixed since at that time you'll have specific issues that someone can help with
Sent from my Nexus S 4G using Tapatalk 2
evol4g said:
Well then you shouldn't have started the thread, I'm not trying to "flame" by any means... but if you wanna add some performance settings and mods I'll give you some advice thewadegeek gave me, take a look at aokps or cm9 or whoever's git repo you feel has some similar features to those you wish to add and start there, you'll get a good understanding of how everything works... at that point it comes to the fine details and making sure everything works.. when you have issues at that point you then can ask for help on getting the fine details fixed since at that time you'll have specific issues that someone can help with
Sent from my Nexus S 4G using Tapatalk 2
Click to expand...
Click to collapse
Thanks.. Thats what I wanted
Sent from my GT-S5360 using XDA
hell_lock said:
Thanks.. Thats what I wanted
Sent from my GT-S5360 using XDA
Click to expand...
Click to collapse
No problem man, good luck to ya
Sent from my Nexus S 4G using Tapatalk 2

Begginers Tips on Developing

I don't really know if this is the right place, but this is as general as it gets. I've been messing around with my Xperia U for a while now. Modding ROMS and such. And when I mean modding, I mean very superficial, like just rooting, deleting unwanted files and stuff. I'm also fresh out of high school and I have quite alot of time before I go back.
So, I was hoping to really get to know the android system. It's always intrigued me. Is there a tutorial on creating kernels and developing ROMS?
Also, when you try to port CM for example to a phone. How exactly do you work towards fixing the hardware problems. Whats steps do you exactly do?
Option "Search".
Sent from my LT22i using xda app-developers app
Yep search there's a thread someWhere here and also search google you 'll find lot of things I'll give you some links when I go home if I don't forget
Sent from my Nokia 3310 using xda premium
http://wiki.cyanogenmod.org/index.php?title=Development
Haters gonna hate
potatoes gonna potate.
Thread moved. As you're asking questions they go in Q&A however this isn't really device related but anyway you want to head over to XDA-University which will give you all the learning tips you need.
Follow this
http://forum.xda-developers.com/showthread.php?t=1965817
Sent from my xperia sola using xda premium
Thanks for the links.
One more question, suppose you're making a port of a rom from one device to another and if some of the components like wi-fi dont work. How do they make it work? Do they have to make drivers from scratch, or they find it from somewhere. I mean, I ask this, if there are no sources made available by the manufacturer.

[Q] I want to learn how to develop for Android but...

I've been wanting to get into development more and more recently, and Android seems like a pretty awesome platform to develop apps for.
I ultimately want to develop a basis for a 2D OpenGL ES game that I can expand on, and also develop a chat client that works on XMPP and can detect when certain apps are opened and closed, and how long their open for.
I have... zero experience with any actual coding also, aside from maybe a few copy/paste edits on some random C++ stuff back in the day. Only real reason I haven't actually just "dove in" to Android development was because it looked... really confusing? Idk...
Is there any guides or learning methods anyone can recommend to help me out? I'm thinking I should just start from http://developer.android.com/training/index.html and just go from there, but is that the best place for beginners, or is that basically for people who have experience with some coding?
AW: [Q] I want to learn how to develop for Android but...
First you should watch the series on youtube from adam outler on how to build youd first app.
Sent from my GT-I9000 using xda app-developers app
---------- Post added at 07:59 AM ---------- Previous post was at 07:53 AM ----------
For games you can follow this guide: http://forum.xda-developers.com/showthread.php?p=28321618
Sent from my GT-I9000 using xda app-developers app
Just a bump
I'm still kind of interested in Android development, but I guess I'm kind of intimidated by how much I'd need to learn and the time required to actually produce any kind of usable app...
espionage724 said:
Just a bump
I'm still kind of interested in Android development, but I guess I'm kind of intimidated by how much I'd need to learn and the time required to actually produce any kind of usable app...
Click to expand...
Click to collapse
You can try eclipse IDE to make android apps but you must learn java and xml to do that... I'm currently learning that...
Sent from my Micromax A87 using xda premium
Another great resource for beginning Android development in the New Boston Android development tutorials http://thenewboston.org/list.php?cat=6. They cover topics ranging from the basics to making a simple game with OpenGL. And don't be intimidated by the time needed to learn everyone starts as a beginner when they learn something new but with practice you'll be writing great apps before you know it. The key is practicing with a positive attitude .
Sent from my SCH-I535 using xda premium

I do badly want to become a developer.

Where to start? I'm seventeen years old, and this is what I want to go towards going forward into life: developing! But the problem is I don't know where to start. I figured this would be the perfect forum to get some guidance. Please teach me
Sent from my EVO using xda app-developers app
krobinso2295 said:
Where to start? I'm seventeen years old, and this is what I want to towards going forward into life: developing! But the problem is I don't know where to start. I figured this would be the perfect forum to get some guidance. Please teach me
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
I will definitely start at the Android tutorials sub forum.
Do you have unlimited data allowance? As I have found out first hand, this is a crucial factor in the way you will learn and progress because a lot of the good tutorials are in the form of YT videos.
krobinso2295 said:
Where to start? I'm seventeen years old, and this is what I want to go towards going forward into life: developing! But the problem is I don't know where to start. I figured this would be the perfect forum to get some guidance. Please teach me
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
Also depends on what you actually want to developer. ROMs? Android apps? Games? Something else? They all require slightly different routes. But a good understanding of programming in general will be a very good help in anything you do
Sent from my Nexus 4 using xda premium
zacthespack said:
Also depends on what you actually want to developer. ROMs? Android apps? Games? Something else? They all require slightly different routes. But a good understanding of programming in general will be a very good help in anything you do
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
I really want to do roms and apps. I just really wish I could find someone that would be interested in mentoring of something haha... But I mainly am looking to do roms and apps.
Sent from my EVO using xda app-developers app
krobinso2295 said:
I really want to do roms and apps. I just really wish I could find someone that would be interested in mentoring of something haha... But I mainly am looking to do roms and apps.
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
I'm your age too I do developing primarily on computers though and I have been doing that for a couple of years now. I can say that the best place to start is to learn a programming language. Most Android apps are coded using Java so, if you have some experience with coding learning Java would help you alot. But if you have little to no experience coding I would suggest you start off with something like C maybe even python but syntax is very different compared to Java so C is recommended. After you have enough experience with that I'm sure you can jump into building ROMs.
Good Luck!
gr1m.r34p3r said:
I'm your age too I do developing primarily on computers though and I have been doing that for a couple of years now. I can say that the best place to start is to learn a programming language. Most Android apps are coded using Java so, if you have some experience with coding learning Java would help you alot. But if you have little to no experience coding I would suggest you start off with something like C maybe even python but syntax is very different compared to Java so C is recommended. After you have enough experience with that I'm sure you can jump into building ROMs.
Good Luck!
Click to expand...
Click to collapse
Are there any books you recommend?
Sent from my EVO 4G LTE using xda app-developers app
my problem is I don't have a unique and practical idea. I'd wish I could come up with something that would be lucrative & beneficial but those ideas are limited and I wouldn't want to do something someone else has already done.
If I wanted to learn I'd get the latest Android Studio & follow some "Hello World"- type walkthroughs. I'd think YouTube vids would be helpful.
Then try to latch on to an open source project since I'd have an existing project to see how it's done.
krobinso2295 said:
Are there any books you recommend?
Sent from my EVO 4G LTE using xda app-developers app
Click to expand...
Click to collapse
I've always found Head First Series to be good. Try Head First C or if your feeling confident try Head First Android Development. But adding on to what jawz101 said the best way to learn a programming language really well is to do your own project, also, check out "professional" open source projects to learn the style and even some tricks of the trade.

Categories

Resources