Related
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.
I was actually going to make a post along the same lines as yours. From what I have found the pinned post in this forum from cyanogen about cooking is probably the most useful information to get started.
The issue I have is a forum just on this topic alone. It would be nice to have a forum that only discussed merging manufacturers released code into AOSP. By googling I have found the Atrix source code that Motorola has released and also the AOSP itself. By reading cyanogens post and mucking around with the source this should give you a good start.
Good luck and if you come across a forum with just this topic discussed post a link.
Also for setting up an environment this post is good for getting everything setup to compile what you need. It is a post to compile CM7 but it can be used for what you are looking for.
gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.
Click to expand...
Click to collapse
2nd hit googling android porting.
http://www.netmite.com/android/mydroid/development/pdk/docs/
Nothing is truly "update-to-date" there are somethings that your going to have to do your homework on. That is a very detailed guide on the basics of getting a port going and working towards the "device tree"
Unless the device tree is from a google nexus phone, then most likely the trees are not perfect. Cyanogenmod for example, the devs that work hard on creating those device trees don't just know what will and won't work. Each phone is different alot of trial and error. Do you build a binary from source, or do you use prop files already on the phone, that is all based on what is trying to be done and how much you know. Eventually you figure it out. It hard to just say what creates the device tree. Its just like someone asking for tips on how to write Java.
Bottom line, just do it and have fun.
lithid-cm said:
2nd hit googling android porting.
http://www.netmite.com/android/mydroid/development/pdk/docs/
Nothing is truly "update-to-date" there are somethings that your going to have to do your homework on. That is a very detailed guide on the basics of getting a port going and working towards the "device tree"
Unless the device tree is from a google nexus phone, then most likely the trees are not perfect. Cyanogenmod for example, the devs that work hard on creating those device trees don't just know what will and won't work. Each phone is different alot of trial and error. Do you build a binary from source, or do you use prop files already on the phone, that is all based on what is trying to be done and how much you know. Eventually you figure it out. It hard to just say what creates the device tree. Its just like someone asking for tips on how to write Java.
Bottom line, just do it and have fun.
Click to expand...
Click to collapse
thanks for the response. maybe im just searching for the wrong things... that and its not sinking in to my thick skull lol.. ill keep reading. im just trying to learn how it all works. some of the things i read either dont make sense or are really vague. i am currently cramming java into my head for app development. i suppose thats a good place to start. my end goal is to contribute.
gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo.
Click to expand...
Click to collapse
I am trying to figure out how to build/port ROMs too. It has been a nightmare trying to study that. Not enough material, or the material is incomplete. Most of the tutorials are meant to be done with nexus devices wich has a native suport from android. No such a help for someone who is seeking a way to build for a new, unusual device (like me).
I didn't get this "three" thing. And, In my case, it is a little bit weirder because I am trying to build for a MTK6577 processor. (Some may say I am screwed).
although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide.
Click to expand...
Click to collapse
Many years ago I said: there will be a Time when people will know the "internet junkyard" or the "virtual online trash can".
I was reffering to outdated information. This information is available now and is not completely reliable because it is old and no one got rid of it.
It is something that is new (although the information is old, the event is pretty new) and we must learn how to deal with it. Unfortunally.
To de development point of view, I've been facing an incredible hard time just to find new information about building a custom rom from the source or porting an existent one.
I know i didn't help at all, but, I felt I must say that.
Anyway, knowing about anything, let me know.
Best regards!
gh123man said:
hey everyone. ive been googleing and googleing for weeks and weeks trying to educate myself on how the android build process works and how a device tree works. what i have been able to figure out is the device configuration has been moved form /vendor to /device between eclair and froyo. although i am very lost and confused. i have gone through source.android.com several times, and i have also gone through the very outdated platform developers guide. right now i am trying to teach myself how to set up a build environment for a real device. im doing this purely out of learning experience so i can apply it to something useful in the future. i have several devices at my disposal (epic 4g, droid1, atrix 4g, acer iconia a500) any of which i would be willing to use for learning. does anyone have any recommendations on reading material im missing? any good place to ask stupid questions? there is lots of documentation out there but i just cant seem to find it. where should i go from here? i wish i could just take a class on this. because there is so much information out there i have no idea where to go from here.
Click to expand...
Click to collapse
Here is the Small Guide Made to Begin from scratch for Android Device Tree Building
Hello, I currently own an SGH-i717 and would like to start rom developing for it and would like to know where to start. If I was a complete noob and compared to most of the people here I might be, how would I download 4.0.3 source code, use adb with my phone and etc etc. I find it all very interesting but I have no idea where to start.
I am asking for help with this specific device, then maybe onto porting for other devices but this model has a very sore lack of developers for it and since I own an ATT Note I would like to start the development for it regarding ICS and etc. Also why is there a lack of developers for this model's roms?
Thanks for any and all help regarding this issue and I am excited to get started developing for you guys!
I think you need something called android sdk
Sent from the only smartphone designed by Chuck Norris
So what do I win if I vote in the poll?
KangKilla said:
Hello, I currently own an SGH-i717 and would like to start rom developing for it and would like to know where to start. If I was a complete noob and compared to most of the people here I might be, how would I download 4.0.3 source code, use adb with my phone and etc etc. I find it all very interesting but I have no idea where to start.
I am asking for help with this specific device, then maybe onto porting for other devices but this model has a very sore lack of developers for it and since I own an ATT Note I would like to start the development for it regarding ICS and etc. Also why is there a lack of developers for this model's roms?
Thanks for any and all help regarding this issue and I am excited to get started developing for you guys!
Click to expand...
Click to collapse
google search, ever heard of it before? and there is no lack of devs here unless you consider quantity over quality to be better
LOL
Underground_XI said:
google search, ever heard of it before? and there is no lack of devs here unless you consider quantity over quality to be better
Click to expand...
Click to collapse
If that was the case, then why aren't there ice cream sandwich roms for att note?
and also, what do I search for? I'm very busy so I don't have time to mess with google all day. I need someone who is willing to work with me on educating a new developer, that maybe in turn had someone to learn from before them that appreciates a new (quality)developer.
To keep things simple here... Please refrain from jerky comments as I am trying to maintain progression in this area and again I am a very busy person so I would appreciate it if we kept this thread professional.
Thanks again for any help you care to give! I apologize for being a beginner, but everyone has to start somewhere... right?
kevinjgray88 said:
I think you need something called android sdk
Sent from the only smartphone designed by Chuck Norris
Click to expand...
Click to collapse
I already have the Android SDK, but I'm not sure how to use it for developing. I tried once and ended up frustrated with it. Are there easy to understand tutorials somewhere around here that might help a beginner?
I've managed to unbrick my captivate using ADB once but it was very foreign to me and I was kinda impressed I even pulled off sending it into download mode. Thanks for helping!
jpeg42 said:
So what do I win if I vote in the poll?
Click to expand...
Click to collapse
Tell em what he's won Johnny!!! - A BRAND NEEW ICE CREAM SANDWICH!!!!! - ::And teh crowd goes wild!::
It's good to see someone with a lot of drive to develop, but the biggest hurdle isn't building AOSP from source. You need to get a working kernel that is compatible with ICS and all the Notes hardware. You can't google search how to do that. In reality it's almost impossible to do if you don't have extensive experience with that sort of thing.
We need the source code from Samsung for the Note and as far as I know, there is no source code out yet for the Note (for any version of Android). The roms you are seeing right now (two that Im aware of) are basically rigged versions of the stock rom where things have been removed (bloatware) and a few things have been added that conveniently worked out of the box without messing with code.
The real work will come when we have some source code to work with.
Ok, what's next?
macked said:
It's good to see someone with a lot of drive to develop, but the biggest hurdle isn't building AOSP from source. You need to get a working kernel that is compatible with ICS and all the Notes hardware. You can't google search how to do that. In reality it's almost impossible to do if you don't have extensive experience with that sort of thing.
Click to expand...
Click to collapse
Okay well that's a start... does anyone know where I can find a stock version of ICS to study it's code and experiment? I found source codes for SGH-i717 here
opensource(dot)samsung(dot)com
(I need more posts to make that a link, lol)
I searched for i717 and it came up with four source results on samsung's opensource search bar but I don't know what the four results are for and what the difference between them all are(unless it means it is for att or tmobile or etc, etc.), if you can tell me any info on these then I would be greatly appreciative.
Yeah, I have no clue how to do most things with coding for android but I do understand how to flash correctly, root and all that jazz. I just lack the programming skills and work flow it takes to make all this. I am downloading java for dummies and learning how to use XML files, but I am wondering if there is something else I should study too?
It sucks that I came here starting from scratch basically but I have learned a lot from here in a short amount of time, I appreciate all of the developers who have made the roms I love along the way, I am just growing impatient with the far and few between updates for your devices and I want to see updates for our devices come faster and the only way to do that is to do something about it. So I am very grateful for any help I get regarding this.
Where can I start with the kernel search? Is that what everyone is waiting on to start developing ICS for this phone? Does anyone know if one exists?
Another Question
What's the difference between a kernel and a rom? Basically.. what the heck is it in lamen's terms?
KangKilla said:
What's the difference between a kernel and a rom? Basically.. what the heck is it in lamen's terms?
Click to expand...
Click to collapse
This is a great place to start.
http://developer.android.com/guide/basics/what-is-android.html
Thread closed
This is not the place to learn how to develop, go to Android Development and Hacking forums and start studying.
Hey!
A while ago I got the idea of learning how to cook roms.. I made some research on it and I found some helpful stuff on xda. Well, I tried but quiet didn't understand and manage to be successful in doing what was told there..
I've read lots of stuff like "The hardest part of developing roms is getting started". So I guess this is the part where I need the most help
Whatever, the reason why I opened this thread is that I wanna hear some developers. Their ideas on developing; How to get started, their short story on how they started developing...
Basically I wanna learn where/how to start from those people who experienced and managed to become a developer..
I mean, I wanna know your stories as I really think they will help me, they will be examples to me...
Well, not only me, to anyone who reads them.. I'm hoping that this thread will help other newbies like me...
Thanks!
My first android phone was the g1, didn't install CM until the myTouch on t-mobile. I started writing scripts for android phones. Little ones, like LCD Density script or apk removal. Then worked on a theme. Didn't really go anywhere. Fixed a bug for Salvagemod for the Evo, then started working on SalvageMod. Evo needed a kernel after support was said and done, I figured out how to compile it, looking at other commits, I was able to make changes successfully to the Freedom Kernel for the Evo. Then decided that I wanted to work on some gui application. Cmcompiler came about.
While there are many many more details from start to finish. Point is really, that no one is going to teach this to you. You have to want to learn, and you simply have to do it. Its hard work. I have spent hours and hours of messing with things to get them to work correctly. Trial and error is a great way to learn android. Sadly "Android" isn't the only thing you have to learn when it comes to development. You need to learn the tools that come with the development, like packaging or install script if you have a local gui application, or git/svn/bzr for version control systems. Most importantly, you need to have fun learning. If you are not having fun. Quit.
I do not feel attracted when you ask devs to answer, but still.
I started with XDAs kitchen.
No development ofcourse, but a good place to start.
I felt XDA kitchen was not enough, so I started to learn BASH - the scripting language in wich Kitchen is written.
I started with opening the "menu" file out of the kitchen.
After a while, I neede batch-resize, as I wanted to become a themer.
I made it together with my dad.
After I saw that some themes contain more items then another, I made CopyFrom.
AndroidCentral was my next idea - a combination of all home-made tools.
Just like lithid, I felt a GUI was needed.
But I started to work on it for cross-platform usage.
Conclusion: writing scripts is a good way to start. Google is my best friend, as I am new to scripting also.
Good luck
Sent from my Galaxy Nexus using Tapatalk 2
To echo the sentiments of the two previous posts by lithid and mdroid, I also started by writing simple scripts and small projects. Android Utility was my start up project.
My first real projects involved Rosie (HTC Sense launcher) and theming it. Then it become modding the apk to do other things (remapped, 4x5, 5 column app drawer, transparency, etc). The process of learning how to theme and mod one apk really helps you learn.
My recommendation is to pick one particular aspect of your device/Rom and learn as much as you can about it. You will find quickly that by doing so you inevitably have to learn how to use the Android tools, scripting, BASIC programming fundamentals, and a general idea of how everything works.
And yes, Google is your friend. Also stackoverflow
Sent from my PG86100 using Tapatalk 2
I also wanna to start developing. Thanks the infos. Can you write a few standard dev-tools name?
Sent from my ZTE Blade using XDA app
After creating this thread and reading the opinions of developers I followed this tut and tried this kitchen.. Helps in modifying a ROM.
And as I already had Cygwin installed using the way shown in the above tutorial I tried this tool for modifying the boot.img..
And if you want to modify apps you can give a shot to this tool...
These tools are basically really easy to use and efficient. Especially for a newbie like me.
oh, and these words of cyanogen would be really helpful..
start developing is not easy...but if you really want it and can dedicatebtime and patience all will just be fine... it's not recommended that u try to do all at first...maybe just a mod can be ok for you or anyone starting here...try modding a rom,changing stuff,adding tweaka and playing with build.prop as well...then if all goes right u can think on modding more stuff like apjs,themes,including simo comex apks...those who needs extra settings,etc... you'll gain xperience as long as time goes on and will fibd lot of interesting stuff u'd like to invlude on builds...so don't rush...good roms need time and patience
Sent from my MB860 using XDA
Thanks! when I read your ideas, telling me to play around with a rom and all that. I feel that Im really lucky. I've already been playing around with the ROMs I've used so far.. like editing build.prop, basic theming, editing apks, I once edited framework-res.apk to enable the navigation bar, etc...
Yesterday I tried porting MIUIv4 on the cm9 for for my device following some tuts on xda.. I did everything right, but no luck I get stuck in boot logo... Whatever I'll not give up!
I'm planning to study those kitchen stuff more for now, I'll give a shot to the tutorial mentioned on the portal today..
Whats your device?
My next plan to modding a ROM. I read also the MIUI porting thread, that's not hard. A long time ago, with my previously phone, the Xperia X8 (miss you...), i tuned up the stock ROM and modified a cooked ROM for myself - without XDA. I registered after here.
Sent from my ZTE Blade using XDA app
LG GT-540 optimus
I know. Its really easy. Plus I tried to port MIUI by mikegapinski on cm9 by miroslav_mm.. both roms are developed for GT-540.. I do everything right but I get stuck...
I don't what to mod, I mean I don't have any ideas... so Ill try porting MIUI
Hey bro. My advice? Do some heavy softmodding first (Take lets say tejas rom and add themes, adjust framework, add tweaks, add custom animations.custom this custom that basically add what you think is nice and yeah after long you will get more and more weird ideas )
Hi,
I've been using XDA for a while now, and with the help of many amazing devs I've managed to flash custom roms to all my older devices no problem! Recently I've been waiting for a dev to make changes to an existing kitkat rom, to fix a bug and I'm becoming a little impatient. I know everyone has their own lives to attend so I'm not complaining, rather I'd like to try and help this dev with the problem as I have quite a lot of experience with Android apps. I've read up on the CM wiki the sort of things that are involved in debugging roms etc. so I know that I'll only be able to help with the framework (as I know no C/C++).
So my question is, are there any ways I can help them, and will my help be appreciated considering the skills I have? I also have a decently fast computer too so I have a feeling I could help with building the rom.
Thanks.
Roarster31 said:
Hi,
I've been using XDA for a while now, and with the help of many amazing devs I've managed to flash custom roms to all my older devices no problem! Recently I've been waiting for a dev to make changes to an existing kitkat rom, to fix a bug and I'm becoming a little impatient. I know everyone has their own lives to attend so I'm not complaining, rather I'd like to try and help this dev with the problem as I have quite a lot of experience with Android apps. I've read up on the CM wiki the sort of things that are involved in debugging roms etc. so I know that I'll only be able to help with the framework (as I know no C/C++).
So my question is, are there any ways I can help them, and will my help be appreciated considering the skills I have? I also have a decently fast computer too so I have a feeling I could help with building the rom.
Thanks.
Click to expand...
Click to collapse
Ask them. Or ask their permission to use their ROM as a base, make some actually meaningful modifications, and release it. But as too your "skills" I didn't see you state what they were, and if you have to ask then probably not. Don't stop reading/learning though, you'll only get more knowledgeable.
thewadegeek said:
Ask them. Or ask their permission to use their ROM as a base, make some actually meaningful modifications, and release it. But as too your "skills" I didn't see you state what they were, and if you have to ask then probably not. Don't stop reading/learning though, you'll only get more knowledgeable.
Click to expand...
Click to collapse
Ok, I was thinking along the lines of making modifications and then pushing them to a git repo. Maybe they don't have one, I'll go ahead and ask. As for my skills, I was saying in my last post that I have quiet a lot of experience developing Android apps. Do you know what % of rom editing is Java based vs C/C++?
Roarster31 said:
Ok, I was thinking along the lines of making modifications and then pushing them to a git repo. Maybe they don't have one, I'll go ahead and ask. As for my skills, I was saying in my last post that I have quiet a lot of experience developing Android apps. Do you know what % of rom editing is Java based vs C/C++?
Click to expand...
Click to collapse
There is no hard/fast guide on what "rom-editing" is. Are you wanting to contribute to kernel development? Better know a lot of C. Wanna roll a cool application for a ROMs special settings? Java is what you want. What I'm getting is you know more Java, so why don't you write and application that you think will solve a problem, then talk to a developer about including it in their ROM?
can someone tell me why the developers have 2.3.4 rom in development, with bugs and little support ??? when it is better to devote time to a single good and seriously attended !!!!
Sent from my Redmi 3S using XDA-Developers Legacy app
Same question. There are a few devs who would work on one build then abandon the project completely, and make another build of a different ROM.
Because most of that So called Development is just copy paste job. those guys don't actually develop anything by themselves. otherwise they could have fixed it, instead they wait for actual developers to fix it and just copy from them. :silly:
kraatus90 said:
Because most of that So called Development is just copy paste job. those guys don't actually develop anything by themselves. otherwise they could have fixed it, instead they wait for actual developers to fix it and just copy from them. :silly:
Click to expand...
Click to collapse
agreed
[email protected] said:
can someone tell me why the developers have 2.3.4 rom in development, with bugs and little support ??? when it is better to devote time to a single good and seriously attended !!!!
Sent from my Redmi 3S using XDA-Developers Legacy app
Click to expand...
Click to collapse
kraatus90 said:
Because most of that So called Development is just copy paste job. those guys don't actually develop anything by themselves. otherwise they could have fixed it, instead they wait for actual developers to fix it and just copy from them. :silly:
Click to expand...
Click to collapse
1. You will know then answer when you try to compile one ROM (Not developing).
2. Compiling a ROM is not just a Copy & Paste work. If it's so... Do yourself.... (its just copy & paste nah..?)
So here is a answer. I'm also started Android Development just 2 weeks ago. And i compiled 4 different ROMs : Lineage, Candy, Slim, Glaze. I'm not doing it for you. But for me. I wanted to learn, no one can start from "Coding Everything from Scratch" especially legacy softwares like kernel and other things. So we start from compiling.... When we successfully compiled a ROM by facing and fixing many Errors. We move on to a new ROM, Coz New ROM will give new errors and we can learn to fix them. You may ask "Why you cant learn from Improving a rom...?" and my answer is "NO ONE IS GONNA TEACH ME HOW TO IMPROVE A ROM". Self learning needs lots of trial and error. So we building many ROMs. If you don't like that or you are a cry baby who cries for "XXXXX is not working" or "Poor XXXX". Just stick with STOCK ROM. XDA is for Learning and Not Only for SERVING YOU A BUG FREE, FULLY OPTIMIZED, FULLY FEATURED CUSTOM ROM for FREE.
Sorry.... if anything hurts anyone... I mean it.
dineshthangavel47 said:
1. You will know then answer when you try to compile one ROM (Not developing).
2. Compiling a ROM is not just a Copy & Paste work. If it's so... Do yourself.... (its just copy & paste nah..?)
So here is a answer. I'm also started Android Development just 2 weeks ago. And i compiled 4 different ROMs : Lineage, Candy, Slim, Glaze. I'm not doing it for you. But for me. I wanted to learn, no one can start from "Coding Everything from Scratch" especially legacy softwares like kernel and other things. So we start from compiling.... When we successfully compiled a ROM by facing and fixing many Errors. We move on to a new ROM, Coz New ROM will give new errors and we can learn to fix them. You may ask "Why you cant learn from Improving a rom...?" and my answer is "NO ONE IS GONNA TEACH ME HOW TO IMPROVE A ROM". Self learning needs lots of trial and error. So we building many ROMs. If you don't like that or you are a cry baby who cries for "XXXXX is not working" or "Poor XXXX". Just stick with STOCK ROM. XDA is for Learning and Not Only for SERVING YOU A BUG FREE, FULLY OPTIMIZED, FULLY FEATURED CUSTOM ROM for FREE.
Sorry.... if anything hurts anyone... I mean it.
Click to expand...
Click to collapse
Why did you took it personally lol? it was just an observation. yes there are people who want to learn and they have to start somewhere. nothing wrong in that. but when you see same people doing exactly same thing for a long time and not improving upon that. it becomes clear what they are doing.
and i never ask for fix this fix that, cuz i know who are actually developing and who are just waiting for fix to be developed by someone else. so no point asking. you sound like someone who wants to learn. but that doesn't mean everyone else is like you. there are people who as i said haven't learn anything but just copy paste cherry-pick for donation money. i rarely see anyone with their own piece of code. happens even more with kernel btw.
and yes i have compiled cm13 2 year ago that's the reason why i know this, and currently using my own (copy-paste haha) kernel for both MG5/nexus 5x. although i haven't released it. nor i'll. (source is on my git if you don't believe).
Anyway, best of luck for your learning, i hope you will learn a lot and will be able to fix problems by yourself instead of waiting for others. it's a long road ahead :good:
First of all, people always mistake ROM/Kernel etc development (not talking about app and other development which are indeed) as profession of devs, they do it in their FREE time because they like it, for example you play basketball because you like it.
Secondly, when there is shortage of ROMs, you yourself would complain about it, please correct me if I'm wrong. Different ROMs have different flavours, and everyone of us likes tasting different flavours. If you're worried about why a thread owner isn't updating it, you can migrate to other one instead of complaining about it.
Some guys have enough skills to compile ROMs, but not the ability to work on source code. So they wait for fixes by those who work on source, and update their ROMs as soon as bug is fixed. Also, compiling can be the start of learning development for guys.
Although I agree with @kraatus90 on some points, there are some things that I don't. First of all, there's no point of redoing the whole kernel, vendor, tree source stuff when you can use the available code with some modifications, obviously the one who uses it have to give proper credits to the bringup dev and other contributors. Also it should be moral duty of the forker to improve the forked code, be it in small or big ways. Simply forking, compiling and PUBLISHING is certainly disheartening and condemnable.