I want to start developing ROMs - HTC One S

I've done a quick search and haven't had any luck with where to start up.
I'm no beginner when it comes to rooting and flashing, just one the code side of things. I don't like it when people are sitting there and asking the devs "When will we get this?" or "Why is this taking so long?! XYZ ROM already has it!" So I want to start developing ROMs for myself (and maybe put it up in the future once it gets good enough).
I don't want to be building of any current ROMs, I want to build from AOSP.
I'm not asking for a guide but just where to get started and where to move on from there. I know I need to know Java, but how MUCH exactly? Do I need to know everything thing there is before moving forward? Once I'm comfortable with Java, where do I move on from there? I want some sort of checklist.
I don't need a guide, I'll grab the books and the courses myself. Just a basic path to follow would be fantastic.
Anyone want to help an up and coming ROM developer? :fingers-crossed:

Kandydish said:
I've done a quick search and haven't had any luck with where to start up.
I'm no beginner when it comes to rooting and flashing, just one the code side of things. I don't like it when people are sitting there and asking the devs "When will we get this?" or "Why is this taking so long?! XYZ ROM already has it!" So I want to start developing ROMs for myself (and maybe put it up in the future once it gets good enough).
I don't want to be building of any current ROMs, I want to build from AOSP.
I'm not asking for a guide but just where to get started and where to move on from there. I know I need to know Java, but how MUCH exactly? Do I need to know everything thing there is before moving forward? Once I'm comfortable with Java, where do I move on from there? I want some sort of checklist.
I don't need a guide, I'll grab the books and the courses myself. Just a basic path to follow would be fantastic.
Anyone want to help an up and coming ROM developer? :fingers-crossed:
Click to expand...
Click to collapse
In the aosp source, most of it is c++, the framework is java, and kernels are c.
Sent from my One S

Related

{REQUEST} how to make a rom

I am looking for a how-to bulid rom for cupcake. I want to know how to make my own custom rom.
Haykuro might be making a tut for cooking roms. I haven't heard anything since.
I searched and searched and asked people nobody helped me so far
Learn some java and Linux, then follow the instructions at source.android.com. there's no magical how to. You have to learn to understand what you're doing.
jubeh said:
Learn some java and Linux
Click to expand...
Click to collapse
"Learn some Linux" lol
Thanks for the link, might try this.
Heres a tutorial for you:
Look in the update.zip files, tryto find out which files are for what, and then try modding them
You cant really know without knowing already. I know that sounds ****ty but lemme explain. Im trying to do the same thing and i have next to no coding experience. ive been reading and studying java tutorials and Android tuts and all kinds of other info, to learn as much as possible about what im trying to do. There is no one tutorial to learn this, there are THOUSANDS of tutorials that may be pretty useless by themselves, but added together they teach you what you wanna know. I just try doing it, and anytime i run into a problem, i search for someone else whos had the same problem, and see how (or if) they fixed it. I actually have learned alot this way, and i have created my own build that will run in the emulator, but not on my device (yet). Its totally basic, but i figure if i can learn how to build it and make it run, then i can modify things and put them back and be learning as i go. Honestly, unless you have about 5 years to devote to going to school for this ****, then its the best way i see to go, is just to learn as you go. but you cant learn how to fix anything that you havent broken, so figure out how to get the source, and dig in and get your fingers sticky...its fun.
-BMFC
maxisma said:
Heres a tutorial for you:
Look in the update.zip files, tryto find out which files are for what, and then try modding them
Click to expand...
Click to collapse
I assumed this thread was about building 1.5 from the source and modding it from there.
What about 1.41??? Do u guys know anything about creating roms for 1.41??? I rather switch over to 1.41 and upgrade with the stuffs I know. I have good experinces with linux. Nothing about java though.
re:{REQuEST} how to make a rom
maxisma said:
Heres a tutorial for you:
Look in the update.zip files, tryto find out which files are for what, and then try modding them
Click to expand...
Click to collapse
only problem i see doing that is when you go to re-zip, or insert apk's in an existing zip and try to ALT-S apply sdcard:update.zip it comes back with "unable to verify" so i think maybe he was looking for a way to re-pack the rom after playing with it.. because i know i am looking for the same answer
jester.....
@Jester, the answer you seek can be found in the Dream theme section, search "AutoSign"....
-BMFC
Building a ROM Startup Guide
Take a look at the following link; this will guide you through the process of environment setup, downloading 1.5 source, building the source, and flashing...
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
I am sure there are other tutorials out there, but this is the one I used to get started...
JAH
jhales said:
Take a look at the following link; this will guide you through the process of environment setup, downloading 1.5 source, building the source, and flashing...
http://www.johandekoning.nl/index.php/2009/06/07/building-android-15-build-environment/
I am sure there are other tutorials out there, but this is the one I used to get started...
JAH
Click to expand...
Click to collapse
me too...lol
-BMFC
bmfc187 said:
You cant really know without knowing already. I know that sounds ****ty but lemme explain. Im trying to do the same thing and i have next to no coding experience. ive been reading and studying java tutorials and Android tuts and all kinds of other info, to learn as much as possible about what im trying to do. There is no one tutorial to learn this, there are THOUSANDS of tutorials that may be pretty useless by themselves, but added together they teach you what you wanna know. I just try doing it, and anytime i run into a problem, i search for someone else whos had the same problem, and see how (or if) they fixed it. I actually have learned alot this way, and i have created my own build that will run in the emulator, but not on my device (yet). Its totally basic, but i figure if i can learn how to build it and make it run, then i can modify things and put them back and be learning as i go. Honestly, unless you have about 5 years to devote to going to school for this ****, then its the best way i see to go, is just to learn as you go. but you cant learn how to fix anything that you havent broken, so figure out how to get the source, and dig in and get your fingers sticky...its fun.
-BMFC
Click to expand...
Click to collapse
welll not true about the 5yr of skool part... i havent even got out of high School yet and have pretty good knowledge on making rom. Being a "cook" for windows roms and being a linux expert, i am have alot of knowledge on building rom... read a view tuts and met some cool people on irc and there yu be building roms and no time. Some of the coders here, i belive don't even have alot of knowledge coming into the rom business but as you plsy around you learn more. 1 tip for you never let no one else phone be your test rabbit... always use your own phone.... TRUST ME yu be building in no time...jusss readddd

Anything to help me get started?

Hello,
I'm 2 days from my last day of High School (Ceremony is on Sunday!). I'm getting very interested in coding programs. I took an online course on Java programing since my school doesn't offer anything for something like that.
I've only had one semester of Java (also my teacher had a family death, so we had NO help from her the whole semester). We used the JGrasp program to code.
I thought, what better way to learn more things and have fun than messing around with my phone!
I came across this and I'm seeing all of these people creating applications, coding things, cooking rom (huh?), and other things. I want to teach myself more over the Summer before I head off to college for Software Engineering.
So what do I need to know?
What program do I need?
Where can I learn the things I need to learn?
Can you cover any other questions that I should be asking?
Remeber, I'm a complete newb when it comes to this, so try to avoid shortcut terms because I probably won't know what they mean.
Any help at all would be awsome! Doing this stuff look very fun to do. And Thankyou for your help!
I'm far from being a chef (person that cooks/creates roms which is the operating software that replaces the orginal operating software on your phone) but I can tell you that i've seen chefs that give away copies of their roms as well as their kitchens (tools that they've used to create their roms) so that people who are interested can create their own rom or modify the one that was created. Take a look at the threads that say custom roms or rom development and you will find them there along with the chefs who can further help you get started. Best of luck. Hopefully one day I will install a rom created by you.

Where to start in learning programming/android development?

Hey guys.
I'm really into Android and I love rooting and custom roms as much as the next guy. So much, in fact, that I'd like to start learning how it all works.
I'm not a noob to computing or android by any stretch of the imagination, but I AM a noob to programming and development.I'm very proficient with windows and can navigate my way around Ubuntu but when it comes to the terminal or command prompt, I'm lost. However, I'm usually able to follow instructions or type in basic ADB commands but most of the time I find myself wondering why these work the way they do and what they're actually accomplishing.
I have a good understanding of how the android operating system works but am clueless to what goes on under the hood. I know what a custom rom is and can flash it in recovery without problems but usually when I start throwing radios or kernels into the mix that's where things go wrong. These are the kinds of things I'd like to know how they work and what they do for Android, as well as how the file hierchy works, the android SDK, ROM building, and stuff like that.
So, I'd like to learn how to develop the things that people put up on this site. I have a very basic understanding of code and programming in general, so I pretty much need a gameplan on where to start in this endeavor. I'm guessing I need to learn a (or a few) programming languages, and I'm guessing I also need a basic understanding of the terminal in Windows or Linux. I have absolutely no idea where to start.
In the past, I've found video tutorials to be very helpful in learning software like Photoshop or After Effects. I'm more of a visual learner so I'm not sure how helpful a book or PDF would be to me. Lynda.com has been a very trusty sidekick and from what I've found they do have some basic training for Java and other popular languages, but their library for terminal/scripting languages or Android in general are both pretty scarce. If anyone could recommend a few resources on where I can get my foot in the door that would be greatly appreciated as hours of googling have left me ultimately fruitless.
All of the things I've listed above are just things I KNOW I'm going to need an understanding of to truly learn how android works. I realize that there are so many more things I'm going to need to grasp before I'm ready to start making ROMs or building apps. I'd like to know what all I need to learn and the best way to approach it and in what order makes the most sense. Please excuse the extensiveness of my post as well, I wanted to give a summary of all the things I know well and what I'm looking to learn. Any opinions or comments/suggestions are completely welcome, I'm humbly asking for your guys' help because I know you know what you're talking about.
Thanks a ton.
I'm pretty sure, there's a video tutorial on xda main site. Do a search, I'd link it but on phone
Sent from my evo using xda premium
gfunk0311 said:
I'm pretty sure, there's a video tutorial on xda main site. Do a search, I'd link it but on phone
Sent from my evo using xda premium
Click to expand...
Click to collapse
I'm having trouble finding any video guides other than small mod-type things. There's a bunch of links to forum posts but I'm not finding the one you're referring to.
If you get a chance I'd love to know the one you're talking about. Thanks!
here is nice tutorial
http://forum.xda-developers.com/showthread.php?t=1753131
renw0rp said:
here is nice tutorial
http://forum.xda-developers.com/showthread.php?t=1753131
Click to expand...
Click to collapse
That's a good one for specifically learning game development, but before I get that into it I want to gain a really good understanding of how android works and what all I need to learn.
snoshreddax21 said:
That's a good one for specifically learning game development, but before I get that into it I want to gain a really good understanding of how android works and what all I need to learn.
Click to expand...
Click to collapse
havent really had time to watch all of these, but perhaps this is a good starting point for you. theres a series of videos called "How to build an Android App part 1..."
http://www.youtube.com/user/xdadevelopers/videos?view=0
---------- Post added at 09:35 AM ---------- Previous post was at 09:07 AM ----------
http://forum.xda-developers.com/showthread.php?t=1661770
this is in the Android Software Development section of the forum. there may be a ton of useful threads but this is the first relevant one that came up
also, going start to the source is a good option
http://developer.android.com/training/index.html
Can anyone suggest a few things I need to become familiar with besides Java? And perhaps recommend a method of learning?
snoshreddax21 said:
Can anyone suggest a few things I need to become familiar with besides Java? And perhaps recommend a method of learning?
Click to expand...
Click to collapse
For learning Java, I would suggest "thinking in Java" by Bruce eckel. It is downloadable for free
Otherwise, getting a common Linux distro and learning your way around that, or osx if you use a Mac, will teach you a lot about the Unix file system and permissions and common commands. All of which are common with android
Best of luck
I've actually been asking the same question myself. I've learned C++ (A bit) took a class on it, did fairly well. But good to know someone else asked I had asked one of my buddies the same question and he had replied, telling me, I was asking too much of an ambiguous question. But either way, I'll start with the videos on this site. :laugh:
peg20 said:
For learning Java, I would suggest "thinking in Java" by Bruce eckel. It is downloadable for free
Otherwise, getting a common Linux distro and learning your way around that, or osx if you use a Mac, will teach you a lot about the Unix file system and permissions and common commands. All of which are common with android
Best of luck
Click to expand...
Click to collapse
I've had my share of experience with Ubuntu but when it comes to the Terminal I'm completely lost. Any suggestions on how to get started? I have no idea how it works or what commands do and that sort of stuff. I'd love to try it out but I just don't know where to begin.
snoshreddax21 said:
I've had my share of experience with Ubuntu but when it comes to the Terminal I'm completely lost. Any suggestions on how to get started? I have no idea how it works or what commands do and that sort of stuff. I'd love to try it out but I just don't know where to begin.
Click to expand...
Click to collapse
The best learning method is "trial and error", so if you are lost with the Terminal start doing a google search and you'll find many howtos.

Looking to Develop Android Applications and Games

Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
aquaars said:
Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
Click to expand...
Click to collapse
if you are e developer , to learn java (at least the basics) is the step no 1 , and its not so hard
if you have no idea what programming means , then you sould spend time to have some general knowledge about programming.
then you sould try to understand android platform , read general info , read sdk documentation , read about the structure of an android app , and
play a litle with Eclipse. you can find everything on the net. tutorials , code , how to etc.
Start doing tutorials, that's what I'm doing.
Check YouTube for beginning Android programming and stuff like that. Eclipse has some good tutorials as well
Sent from my LG-E739 using xda app-developers app
aquaars said:
Yes, I've already searched the forums. I know there is a guide on here from a developer, but that doesn't leave as much open-endedness as I would like. I'm looking to learn to develop games and applications for the Android OS. I've spent the past week learning Java so that I could learn to develop for Android, but it seems to me that is only the tip of the ice berg. The question I have for you guys is how do I go about learning this stuff? I'm sure most of it is trial and error, but hell what can I try if I don't know where to start?
I know you guys probably get this type of question all the time, but I'm not wanting to take the easy "can you basically code it for me route?". I really want to make the game I have in mind and it's fleshed itself a bit more since I actually learned the backbone of the stuff as well. I've seen The New Boston stuff, but that guy doesn't seem to know what he's talking about. He calls > the less than sign and vice versa. :\
Click to expand...
Click to collapse
I think you are referring to my guide. You say it "doesn't leave as much open-endedness as [you] would like." What do you mean by that?
The guide is first and foremost written for beginners.. if you have suggestions on how I can improve it, let me know
And I wouldn't call learning "trial and error." It's more of practice and understanding.
You are right in saying "What could I possibly try if you don't know where to start?"
Following a structured series of tutorials at first will start you off on a strong foot.

Learning ROM Development - Where to even begin??

So I’ve been a member here since the Droid X days and I’ve learned a lot over the years with each device I’ve had but I never really looked into creating ROMs (I always wanted to learn but never got to it).
I know it’s going to be a learning process that takes some time but I’m looking for help on where I should start. Before anyone posts a whole bunch of random looks I’ll say right now that I am a complete beginner when it comes to this stuff. I’ve looked at a bunch on threads and it’s so overwhelming being completely new so I don’t know what’s relevant and what’s not.
From the research I’ve done today I learned about a program called Android Kitchen which from my understanding was used to create and compile ROMs. From what I found it looks like the original dev stopped updating it back in 2013. In the ChefCentral>Android forum it looks like someone else took over and maintains it for Linux. I also came across a variant there called “Assayyed_Kitchen”. Is this the same program just made by someone else? I don’t know you tell me? lol
I also plan to learn some Java in the coming months and Android App development. I don’t have a huge interest in making apps right now but who knows maybe I will down the road. I just figured learning Java can only help with learning to make ROMs? Do I even need to know any of it for this kind of stuff?
So basically I’m looking for some guidance on where to start as a complete beginner in learning ROM development. Even someone taking the time to type out a few basic steps explains what the whole process even involves from start to finish would help a lot. For example..
1. Download source
2. Open in this program and blah blah
3. Do your magic and customize this and that
4. Do some more magic and pack it back up and flash
Just understanding the steps would make a huge difference because then I know what to research and what to learn. Hoping this thread gets some good info in it and maybe at some point I can create a complete noob friendly guide in the OP to help others like me who don’t know where to begin. To anyone that takes the time to reply and help out.. THANK YOU!
You download the source, edit the code you want to edit, then you compile it.
If you have more questions then that it is because you don't know enough to be able to make a ROM. Where to start? Learn how to code and compile, start compiling other peoples Roms and look at their commits and source code to see what changes they made.
You can't really drag and drop then place your logo on it.
Sent from my Pixel using Tapatalk
scryan said:
You download the source, edit the code you want to edit, then you compile it.
If you have more questions then that it is because you don't know enough to be able to make a ROM. Where to start? Learn how to code and compile, start compiling other peoples Roms and look at their commits and source code to see what changes they made.
You can't really drag and drop then place your logo on it.
Click to expand...
Click to collapse
Not sure what the attitude is for I never implied that I could do simple things like drag and drop and use others people's stuff and do it with no programming experience.
Again it's all new to me so I was asking where to start with it all. I am starting to learn Java this week and I'm trying to figure out how it all works.. I'm not interested in making android apps so the android development tutorials all over the internet wouldn't help. Yes they would help with the Java stuff but not with the ROM stuff so that's what I was trying to understand. Imagine being a complete beginner with this stuff. All this talk of compiling and GitHub and commits is all jibberish at first. You gotta start somewhere so I'm trying to get a grasp on everything. My goal is to understand the steps needed to make my own ROM first. Because once I know Step 1: use this program to do this Step 2: do this, etc.. then I know the basic overview and can start the process of actually learning the details involved in doing step 1, 2, etc
If I was teaching someone how to change a tire on a car. They first would have to understand that it involves jacking the car up, loosening lug nuts, take tires off, put new tire on, tighten lug nuts, lower car off jack. Once they get the concept and process of what they are trying to do.. then they can start learning how to jack the car up. Then how to take the lug nuts off.. and so on
If they didn't first understand the general process they might start to learn how to take the lug nuts off first and do that right away
The best place to start is to google , "how to build Android from source." This will help set up your build environment and teach you the basics. The rest is pretty much trial and error.
I started back in 2013 with one of the guides and just started messing with code. I went from not knowing any coding to compiling my first ROM(slimroms) within 2 weeks of starting. I became an official member about 2 months after starting. Here is a link to one of the guides I used to start.
http://forum.xda-developers.com/showthread.php?t=2223690
arcardinal said:
The best place to start is to google , "how to build Android from source." This will help set up your build environment and teach you the basics. The rest is pretty much trial and error.
I started back in 2013 with one of the guides and just started messing with code. I went from not knowing any coding to compiling my first ROM(slimroms) within 2 weeks of starting. I became an official member about 2 months after starting. Here is a link to one of the guides I used to start.
http://forum.xda-developers.com/showthread.php?t=2223690
Click to expand...
Click to collapse
Thanks for the link! I've done some searching around also. So I would need Linux correct? Not an issue I can partition one of my PCs just want to make sure it's definitely needed.
I think my s5 is still running slim ROM haha so thank you! Did you have any programming (Java) experience when you started?
aholeinthewor1d said:
Thanks for the link! I've done some searching around also. So I would need Linux correct? Not an issue I can partition one of my PCs just want to make sure it's definitely needed.
I think my s5 is still running slim ROM haha so thank you! Did you have any programming (Java) experience when you started?
Click to expand...
Click to collapse
I had no coding experience at all before starting.
You need Linux. You will also want a decently speced computer. I have an 8-core processor and 24 gbs of RAM and it takes about 20-30 minutes to compile a build. The computer I started on took about 4 hours.
arcardinal said:
I had no coding experience at all before starting.
You need Linux. You will also want a decently speced computer. I have an 8-core processor and 24 gbs of RAM and it takes about 20-30 minutes to compile a build. The computer I started on took about 4 hours.
Click to expand...
Click to collapse
Yikes. I have a PC I built a few years back running Windows 7 currently
-Asus P8Z77 Pro motherboard
-Intel core i5 3570k
-8GB RAM
I know I could use some more RAM but I was considering getting an SSD first. I have an ancient HDD in there now. Not sure on the exact speed but it's slow
If I was you I'd start with kernel compiling before you get into rom developing. That's what I'm doing anyway, seems like getting a rom to compile is more involving.
You would need to read up on 'git' (it's a version control program) learn some C language and also read up on another program called 'make' what it does and how it does it.
Learn about 'toolchains' how they do and which one to use. I think you can get latest toolchains by downloading android-ndk (it should be one of the folders in the zip file).
With that said you need Linux and depending on the distro you use (Ubuntu,Fedora etc) you would need to download extra packages for development and that you would have to google it to find out which ones. Also you would need to know how to navigate within Linux, use that distro's programs or tools (although 95% are the same across all distros) and all of it using only the terminal.
Google is your friend. I know it is mine. Good luck.

Categories

Resources