Building a ROM - Android Q&A, Help & Troubleshooting

I want it know if its truly tough.
Im a computer science undergrad and wanted to know from devs or anyone who attempted using ASOP code to make a rom.
I know how to code of course object oriented in JAVA, C++ and C.
Thanks.

AOSP ROMS are relatively hard to make but modding a stock ROM is quite easy, and does not need any real coding skills
PS Its my 100th post

everything seems to be in java...try just to start of messing around with maybe themeing first it really shows you how the system works and is setup. The whole phone is like a huge complicated java/css website...

Related

[Q] Where to begin??

I've been using Android now for a few years. I really like the work that the devs do in customizing roms and making them better than what comes on the phones stock. I would like to learn how to do this for myself because it seems that there's bits and pieces from several different roms I like and would love to incorporate in to one. Problem is, I have no clue on where to begin. I know at the root of Android is a linux kernel. So should I concentrate on learning C? I also know that the apks are java, should I concentrate on learning java? I'm not a total moron when it comes to writing software, I've written a good many applications in visual basic, I've also written tons of software and programmed a lot of PICS and AVR's (in PICBasic and Arduino). I've just never really had the need to learn C or Java. Any info would be helpful.
Thanks!

new dev need tips with kernelhacking

Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
pangprego said:
Hi. I'm a 22 year old with no job but ****load of time.
I have been thinking to widen my linux horizon and start working with android.
But my knowledge of code dev is verry narrow. Just simple java and some c#
,
But here is a list of what i want to learn and most certainly could need help with.
kernel hacking
books?
risk assessment. what can go wrong
sdk and api's
driver coding and RIL
learn how to see difference in code.
and where do i start so i can have a working build of JB in a few months
As you already noticed my writing is not good but that because of sleeping pills
But please i need the basic so i can run thru them and start getting books and asking irc channels without being kicked out because i'm a noobster
Click to expand...
Click to collapse
Start with kernel hacked (you know cpu/gpu overclocking) I think you do many touchpad user happy
There is a tutorial for the beginners
http://forum.xda-developers.com/showthread.php?t=1564632

tips and pointers to start devin>>

i had always meant to do some developing but the drop in activity i realized when i moved from the sensation to the rezound really compelled me to start plus i have some work that i really have to do and really dont want to do so you know how it goes. Anyway to it
i started by googling how to build android roms which lead me to xda university giving me a nice expaination as to the various parts of android which i was already familliar
another search lead me to the offical how to build android from source page. i had a few concerns so i thaught i would ask here
i have knowlage building various web applications(php,js,ect) and not the let the fromework so this for me kinda apps i like thinking and innovating. i have a little experience with c++(i was at the stage of learning a gui when my old laptop crashed) so i think i have atleast good enough programming experience to catch on to java at a nice pace. Am currently reading and following googles nice little guid on developing android. Am in the process of setting up work envo (already got ubuntu 12.04 up). and thaught i would just leave a post here to see if anyone had any advice for me?
what i wanna do is be able to port for us,build original roms AOSP they call it for us, build and or port sense roms for us and eventually get to the point where i can get us sense5 or help neo(or any other dev) help us get sense 5. oh and i think i would like to build/modify kernels as well. oh oh and being able to invent exploits to get root or s-off for devices i might get in the future.
Question: while i was reading i was seeing where the buiding process was doing alot of synceing with google servers ect. i dont actually want to submit whatever garbage i might write to them while am testing so im still on the right track following the guid here correcto??
short version: I wanna build android custom roms ect not just edit files and put it out am i on the right tract following the guid here (i already know a lil programming)? http://source.android.com/source/initializing.html
any advice/resources/links welcomed
oki am on the page that says "building and running" i dont see anything for our device am guessing thats because development from aosp has stopped for us and thats where ppl like neo and cyanogen make thier magic. what is the next tut or read for me?
Try this. You could always pull Neo's CM 10.2 repos instead of the 10.1.
http://signatures.mobile-overload.com/wp-content/uploads/2013/07/sig-cm-5.png

[Q] I want to learn Linux programming

Greetings,
I'm starting to learn some programming and I wanted to set some things straight about this.
Obviously, I found that it's best to start off with the easier languages like html, php, java, python, then move to C/C++.
Although I did some html and css, I'm not really into web development, but more attracted to Linux and app development.
So I'm asking, besides python (which I'm learning now) and C/C++, what should I do as general practice? Where can I find more about how an app works, how the hardware works (or drivers) or how could I get involved in the Linux community?
Is bug testing a good starting point?
I've learned the hard way that even after working with a programming language for a while, if you take a break you start forgetting stuff, so I guess I'd better learn something that I can practice.
And even if it might seem like an odd question, what do you do to learn better and faster? How do you keep your brain trained?
You're approaching the world all at the same time. Decide what you want to do and start from there. You're talking about web programming, then Linux programming, then C++. Learning C++ alone decently will take months of effort, not to say learning how to use it to create a real application. Decide what you want to do and don't change way a month after you decided.
Bye.
bogdan2011 said:
Greetings,
I'm starting to learn some programming and I wanted to set some things straight about this.
Obviously, I found that it's best to start off with the easier languages like html, php, java, python, then move to C/C++.
Although I did some html and css, I'm not really into web development, but more attracted to Linux and app development.
So I'm asking, besides python (which I'm learning now) and C/C++, what should I do as general practice? Where can I find more about how an app works, how the hardware works (or drivers) or how could I get involved in the Linux community?
Is bug testing a good starting point?
I've learned the hard way that even after working with a programming language for a while, if you take a break you start forgetting stuff, so I guess I'd better learn something that I can practice.
And even if it might seem like an odd question, what do you do to learn better and faster? How do you keep your brain trained?
Click to expand...
Click to collapse
You need to dive headfirst into one language and stick with it for a month or two.
Then you will know where your head is at.
Java or C is great for general practice.
The linux community is not hard to support.
There are forums that need help, bug testing(Linux kernel too, and you could help with Linux-next), etcetera.
To stay with it/learn faster/keep your brain trained it is best to either get involved in some sort of project or create your own project to keep you working with your language of choice.
const_char is right. Concentrate on what you are really intersting now and take the way. Achieve adequate level of experience in some area, and it clarifies next steps.
Yes, I would recommend starting with Java as well.
Java is a relatively simple language, and it abstracts away some of the machine details, so it is easier to stay out of trouble than with a low-level language such as C.
Once you're good at Java, you could move to C/C++. They are very similar languages, you just need to learn about the machine details now. How to use pointers, and manage your own memory, that sort of thing.
The language isn't important, once you got the basic principles.
If you've already started with python and are making good progress, stay with it. It's good language to learn and for a wide range of real-world tasks.
The Language isn't important...
Get Ideas of what you want to accomplish, and simple find the tools you need to get it done. Python has lots of libraries to access everything you wanted
To much...
Keeping your mind trained is not the problem, but your letting your mind wonder to other programing languages, most people don't get into all the languages at the same time... I found Python to be the easiest for me to start on and work with Linux now. But just because your curious does not mean you should try them all, it's like trying to learn Russian, German, and Spanish all at the same time...
To Learn How An Application Works Or How A Hardware Works It Is a must to have a profound knowledge of C programming Language.
Also I Would Recommend you to spend some time Reading The Book "The Design Of Unix Operating System" By Author "Maurice Bach" So as to gain some knowledge of some basic system-level topics like File-IO and Processes in Linux Before Starting to learn any of the complicated topics of Linux.
Assembly!
You could try learning Assembly first! Its a little weird for a beginner I guess but if your assembly is rock solid then C should be pretty easy and from there on everything else should be pretty simple. Assembly is as low as you can get before you start writing plain 0's and 1's and having a good foundation in Assembly to begin with will really help you in your endeavour. Also, Assembly is as lightweight as it gets so your apps will be blazing fast but its also a pain in the ass to write with so... I'd say start off with either assembly or C and work your way up.
I can't believe all these advice and not one of them tells you to learn shell script! Shell script is the first thing you should learn if you want to programming within the Linux/Unix environment. I mean how else will you be able to compile c/c++ object files without writing make script?
I think at first you should learn bash script language
After try to build some system multithreading apps, forks(with sygnals), etc. Its very useful, when you'll start code something more serious.

[Q] help! trying to overhaul android os

Hey, I'm a comp sci/eng major and I'm trying to get my feet soaked in android and other languages other than c++, ruby, and go. What I would like to do is take the base of android and rebuild it a little bit by adding features to make more use of our phones, somewhat like how the MIUI ROM is. However, I don't know where to start, I've tried looking up on Google about this, but I keep coming across ROM cooking, and that's not what I'm trying to do. Clearly, I need to learn java, and probably few more languages; as well as how android works as an os which I have. If anyone can lead me into the right direction by sending links on how to give android an overhaul, disect apk, ROMs, and the programs I'll need, I think I should be fine. Thank you in advance. Any insight would be ungodly as well.

Categories

Resources