How to learn how to root and MOD an Android Device - Android Software/Hacking General [Developers Only]

I'm currently reading on becoming an Android developer. But I've caught an interest in hacking Android phones. My biggest question is how do you learn how to root Android phones??????? I hope someone will be nice enough and point me in a good direction. My current Android device is an CDMA HTC Hero and saw reports of 2.2 being ported on it but everything is not working. I figure this could be my first project Finishing the 2.2 on the Hero but how do I do that. So if any one can PLEASE help.

Android is based on the Linux platform. I would imagine that most of the people that are doing the heavy work on android know quite a bit about Linux, as it pertains alot to these devices.

You should learn C and C++. Also, you should read up on the Linux Kernel and all you can about Android's framework. I don't know specifically about the Hero, but it's probably not all working due to driver issues.
This is a HUGE undertaking to a new coder.

Could you please rephrase your question about android hacking please? Like do you mean you wish to be able to come up with your own exploits and find your own ways to root a phone, or do you mean something along the lines of using current exploits and developing your own roms and such?
~PsyCl0ne

Hi all,
I know this thread is quite old but I wanted to have some info about the rooting topic.
My question is about the general development necessary to root a phone, sdks and tools needed.
I know already a bit of Linux and C, C++ but I don't know how the rooting work exactly. It seemed to me it is a program that runs when connected to the phone in the boot loader menu.
I think it would be useful a guide made by using an example, like the code used to root the Nexus 1 (I own one so I could put that in practice)
Thanks

me too.. same with conte79

Related

android subfora

Running a title-only search for 'android forum' yields quite some many results.
it seems like many on xda want their own android subforum. polls show that most think it makes sense. I agree with that because for people not interested in anything linux based it's totally annoying to have android threads everywhere. on the other hand if you're looking for some linux based / android image it's easier to have a special place for that.
So it's overall a good step imho.
The reason for posting this thread is that I have some thought on that:
It might be better to put one main forum instead of many subfora for linux/android:
Many htcs with the same chip share the same linux codebase and can run the same android/ubuntu/whatever roms. Also most of the msm7*/qsd8* device forums have at least one linux/android topic thread. You will end up with one linux/android subforum for each device.
=> development processes and rom distribution are eased when focused in one place.
It's not ideal to create *android*-only subfora.
Since there are many linux distributions you have quite some stuff that won't fit an android subforum.
Let's say you made some ubuntu image for the blackstone you want to share. Blackstone android rom development is the wrong place then because ubuntu is, just like android, linux based. And not vice versa.
Same if you have a question about a linux driver on your blackstone. Same problem. That'd be linux kernel related and has nothing to do with android.
=> It is better to use different naming. e.g. linux & android rom development. This will reduce confusion and make the splitting into wince / linux based topics more efficient.
My 2 cents
regards
Doesn't this do the trick?
http://forum.xda-developers.com/forumdisplay.php?f=564
svetius said:
Doesn't this do the trick?
http://forum.xda-developers.com/forumdisplay.php?f=564
Click to expand...
Click to collapse
I forgot to mention that I'm talking about the devices that support linux non officially!
I'm sorry for causing confusion.
Well still your answer would make sense to my first point.
Forget about that. I guess it is better to have those device specific linux/android subforums in the device main forums! Cause that's where people are looking for them.
Still concerned about the second thing about the subforum names though. Could you give me a thought on that (now that you know I'm referring to the non-official linux/android devices)
I think they should really be Linux (and android) subforums, and not android only.
Ok, so just to be clear, you think that we ought to rename the device-specific Android forums for WinMo device (like Blackstone, Rhodium, etc) to include Linux? So instead of:
Touch HD Android Development
it would be:
Touch HD Linux (Android, etc) Development?
Like that? I know that some other operating systems that run from Linux have been shown running on some of these Windows Mobile devices, but 90% of the Linux dev work is being done on Android. Perhaps this may be a good idea in the future if we see Ubuntu/etc development pick up, or do you think we need the change today?
svetius said:
Ok, so just to be clear, you think that we ought to rename the device-specific Android forums for WinMo device (like Blackstone, Rhodium, etc) to include Linux? So instead of:
Touch HD Android Development
it would be:
Touch HD Linux (Android, etc) Development?
Like that? I know that some other operating systems that run from Linux have been shown running on some of these Windows Mobile devices, but 90% of the Linux dev work is being done on Android. Perhaps this may be a good idea in the future if we see Ubuntu/etc development pick up, or do you think we need the change today?
Click to expand...
Click to collapse
Yes I would suggest to change the current subforum names to something like that. So that people know everything <device>-linux related can be posted there with any userspace they like. Still it is important to put android in the name because many people just look for android and don't know that it's based on linux. So the pattern you propose seems perfect.
I agree. Obviously most of the users want to run android userspace on their HTCs now and that's what the biggest part of the discussions seems to be about. Still I would change it in the proposed way already for two reasons.
With the current titles not only discussion about non-android userspace is excluded but also everything kernel related. And the kernel is very important. Of course also for android.
Also, people who want to develop non-android linux based stuff like ubuntu for HTCs might not be much attracted seeing a (seemingly) android-only forum. They will rather publish/discuss their stuff elsewhere because it might appear to them that only android related things can be released in the xda forums.
Thanks a lot for the attention payed to this!
Plz rename Android section to Linux?
Or give us a Ubuntu section like Andriod got its own (Still both Linux thou)
Im happy for all who want Android on there WM, BUT for me i have second to non intrest on getting it on my HD2, like WM 6.5.3 and NRG keeps making WM more and more perfect everyday (Love to NRG and...HOW The hell do you do it!=)
My intressts are fully on Ubuntu news and just plainly, talk about buggs and leave feedback and we are drowning in Andriod threads. And atm i feel there is no way to find peace and calm to engage people to this. Ubuntu or other Linux work could grow, given only a chance.
Anyway i hope this getts a solution since its trying my patience. So i agree totally with Dcordes, we need a change
I know this thread is a little old, but I think that changing the forum names to include linux in the title should be looked at again. In the HD2 Android Dev Forum there was a thread asking about porting meego to the HD2, and it got a quick response from a member saying "maybe when we have a meego dev forum" and continued to post responses against it, when there are several people interested in meego or maemo. Its all linux and the forum should be called HD2 Linux/Android Dev or something similar to avoid confusion.
I feel some of the users won't get it that *Device* Linux Section is the one which contains Anroid ! They might start asking for a seperate Android section again.
IMHO.

[Q] Linux, Kernels, Bootloaders, Partitions : Where to start learning about it?

Greetings,
With all this porting Android to Touchpad thing, Ive been getting interest in that topic. I know it all involves Kernels,Bootloaders, Linux and crap.
I do have some knowledge in ASS and a minimum with Linux but I would like to start learning about all that so I could start messing with it myself and maybe contribute with the community in the future.
The thing is I dont even know where to start. If any of you devs can give me a hand on what topics should I cover and the tools i might need I'll be very thankful.
Thanks in advance.

[Q] Is it possible to install android on a phone that doesn't have it?

I know this question should be obvious but I am not a developer so I don't know for sure. I am wanting to get a lg 800g for my dad and put android on it. The os it has on it looks like android but it isn't. I was wondering if it would be possible to put android on it so the phone could be more compatible possibly.
The most likely answer is 'no'. The device doesn't appear to be nearly powerful enough to support Android. Even if it were, you'd need massive community support to port Android over, and it doesn't appear that that exists for this device.
To answer your subject-line question more generally, in the vast majority of cases, this is not possible. The rare exceptions usually involve devices that use derivatives of Android, like the Nook Color.
We have great android ports on our hp touchpad including cm7 and miui . I'd say this device definitely would not be easy, but hey, its android so you never know what magic will happen. I hope you are able to find a community of people willing to help you with that phone. Not sure what kind of experience you have, but why not see where you can get on a port for yourself and then ask some recognized developers what direction you need to head. If you paid, im sure a few devs would do it for you
Please use the Q&A Forum for questions Thanks
Moving to Q&A

[Q] How to Start off as an Android User

Hi All,
I am new to Android and Galaxy Note is my first Android phone. I have been hearing a lot of new terms from friends & colleagues and I wanted help from this community to get set up. One of the many terms that I have heard is rooting the phone and from my Linux knowledge it seems having root access on the phone. I have been successful in playing with root permissions using Superuser, Root Explorer and Titanium Backup. However, I would like to have a way to learn all of this in a structured format. I would like to know the purpose of ODIN and working with it. The implications of CMW and having custom kernels and ROMs installed on my phone.
Could somebody please assist me with links to get started off?
Thanks,
Anupam
http://forum.xda-developers.com/wiki/
Here you go. That is a link to the XDA wiki. That will be able to answer all of your questions. You can find alot of great info throughout the different forums on the site. Just take your time and do alot of exploring and reading before you jump into things. You won't regret it.
hello, i am a new android user and have a stock mt4gs. i am considering rooting and doing more with my phone but i am a little wary. i would consider myself a power user of pc's (win and mac) but i am coming at it from the graphics world so the tech side can really throw me off. after all the reading i have done on rooting i am more wary than when i started. my basic question: is there a resource that can give a very general overview of the rooting/moding processes? i have been all over the XDA site for days now but i seem to end up finding technical guides that answer more specific question about the process or go into details of this patch or that flash but not something that really just gives the A-B-C fundamentals for noobs like me and how to approach it in a somewhat safe and responsible manner.
thx in advance!
baldguydesign said:
hello, i am a new android user and have a stock mt4gs. i am considering rooting and doing more with my phone but i am a little wary. i would consider myself a power user of pc's (win and mac) but i am coming at it from the graphics world so the tech side can really throw me off. after all the reading i have done on rooting i am more wary than when i started. my basic question: is there a resource that can give a very general overview of the rooting/moding processes? i have been all over the XDA site for days now but i seem to end up finding technical guides that answer more specific question about the process or go into details of this patch or that flash but not something that really just gives the A-B-C fundamentals for noobs like me and how to approach it in a somewhat safe and responsible manner.
thx in advance!
Click to expand...
Click to collapse
Check out the mt4gs forums, specifically the development section. There are step by step guides that will walk you through the process. Any other questions should be directed to the mt4gs q&a section.

How does one become part of a ROM project?

I am a computer science graduate that is looking to work on an existing ROM project in my spare time (ideally a popular one like CM10). How would I go about this? I don't mind starting small (doing code reviews and such), but I would like to be able to work up to actually submitting fixes and being part of a 'team'.
I don't have any specific Android development experience, but I know Java well and use it every day at my job. I am just not currently a part of any code projects in my spare time and would love to do something Android related now that I finally have one (even better if I could work on .
So...is this possible? What steps can I take towards this goal? Or is this a situation like 'you've got a lot to learn before you even think of joining a project'. Again, I have no Android-specific dev experience, but I learn quick and am eager to be a part of the Android development community. I want to be part of an existing team because I feel my strength lies in developing fixes and features, not in designing a ROM from the ground up.
Thanks in advance to anyone who replies and sorry If I shouldn't have posted this in a more specific Q&A forum as well.
Exoplanet25 said:
I am a computer science graduate that is looking to work on an existing ROM project in my spare time (ideally a popular one like CM10). How would I go about this? I don't mind starting small (doing code reviews and such), but I would like to be able to work up to actually submitting fixes and being part of a 'team'.
I don't have any specific Android development experience, but I know Java well and use it every day at my job. I am just not currently a part of any code projects in my spare time and would love to do something Android related now that I finally have one (even better if I could work on .
So...is this possible? What steps can I take towards this goal? Or is this a situation like 'you've got a lot to learn before you even think of joining a project'. Again, I have no Android-specific dev experience, but I learn quick and am eager to be a part of the Android development community. I want to be part of an existing team because I feel my strength lies in developing fixes and features, not in designing a ROM from the ground up.
Thanks in advance to anyone who replies and sorry If I shouldn't have posted this in a more specific Q&A forum as well.
Click to expand...
Click to collapse
Your best bet is to start by trying to build a CM rom from source, play with GIT and get used to building android from source, then look towards a device you own, if there already a CM verion for it? if so perhaps talk with the dev thats in charge of it and see what you can help with.

Categories

Resources