[Q] How to make a custom ROM - Atrix 4G Q&A, Help & Troubleshooting

Hey guys,
I am really curious as to what it takes to build a custom ROM. I am very interested in building my own and want some pointers on the best places to start so I don't waste my time. Any advice will be useful, books, websites, w/e.
Thank you,
r3xx3r

get ready cause this one's going wayyy over your head.

Its one of those things where if you have to ask, you'll never know.

spitefulcheerio said:
Its one of those things where if you have to ask, you'll never know.
Click to expand...
Click to collapse
I really hate this mentality. People have to start somewhere. Sure they could spend years figuring everything out on their own. Or you could save them a year by pointing them in the right direction. There is such little discussion about this and it's honestly just annoying and a huge negative aspect about the development community.
EDIT: This is for HTC and I haven't watched it, but it might get you started: http://www.youtube.com/watch?v=94Az1kcQvc4
Also, you should definitely look through the source code for open source ROMs. I'm not a ROM developer so I can't really help you more than that, but I hope a real dev gives you an answer.

first and foremost, learn how to use ADB. if you cant use ADB without some kind of script/batch file to do it for you, then stop right here!
personally the first thing i learned was how the updater-script (at the time, we didnt have edify scripting, so it was plain-jane update-script) worked. have a look in a rom's zip file and learn the layout.
learn how to edit apks (decompile/compile) with apktool.
get comfortable with linux (this is just an opinion, as you CAN build roms in windows, but i have found it much easier on my dev laptop with ubuntu 10.10 64bit)
apkmanager is a good tool to have if you are on windows (there is a linux/osx version too, but i havent used it)
learn what zip-aligning means and what it does for your rom
learn what deodexing means and what it does for your rom
different devices benefit from different tweaks within your /system/build.prop . learn which ones work best for your rom (this requires a lot of flashing and testing on your own device)
this whole process is very time consuming and takes a ton of effort on your part. be prepared. while it is a lot of work, it is a lot of fun learning.
once you get proficient at building and tweaking roms, you can start learning how to edit smali

Pirateghost said:
first and foremost, learn how to use ADB. if you cant use ADB without some kind of script/batch file to do it for you, then stop right here!
personally the first thing i learned was how the updater-script (at the time, we didnt have edify scripting, so it was plain-jane update-script) worked. have a look in a rom's zip file and learn the layout.
learn how to edit apks (decompile/compile) with apktool.
get comfortable with linux (this is just an opinion, as you CAN build roms in windows, but i have found it much easier on my dev laptop with ubuntu 10.10 64bit)
apkmanager is a good tool to have if you are on windows (there is a linux/osx version too, but i havent used it)
learn what zip-aligning means and what it does for your rom
learn what deodexing means and what it does for your rom
different devices benefit from different tweaks within your /system/build.prop . learn which ones work best for your rom (this requires a lot of flashing and testing on your own device)
this whole process is very time consuming and takes a ton of effort on your part. be prepared. while it is a lot of work, it is a lot of fun learning.
once you get proficient at building and tweaking roms, you can start learning how to edit smali
Click to expand...
Click to collapse
This is good information. I, personally, build Aura completely on windows with minimal assistance from cygwin. I use batch files for the common things I use on ADB and the like but I built the scripts myself, so it isn't like I can't do it manually I just don't wanna.
It is both easier and harder than it looks. Aura is the first rom I have built.
One thing, though, is to not accept the current ways as best. Things can always be improved. I have two common mods in my rom that are done completely differently in my rom, without either database editing through scripts or modifying smali inside apk's (the hotspot entitlement check and the 1 signal bar fix). No other roms for the Atrix (I haven't check other phones...) do it this way, not even Darkside which is based somewhat no Aura.
If you are building a rom through the Rom Kitchen... don't use the garbled updater-script it puts out. It mostly works, but it is trash and you won't learn much from it.
Experimentation!

Diviance said:
This is good information. I, personally, build Aura completely on windows with minimal assistance from cygwin. I use batch files for the common things I use on ADB and the like but I built the scripts myself, so it isn't like I can't do it manually I just don't wanna.
It is both easier and harder than it looks. Aura is the first rom I have built.
One thing, though, is to not accept the current ways as best. Things can always be improved. I have two common mods in my rom that are done completely differently in my rom, without either database editing through scripts or modifying smali inside apk's (the hotspot entitlement check and the 1 signal bar fix). No other roms for the Atrix (I haven't check other phones...) do it this way, not even Darkside which is based somewhat no Aura.
If you are building a rom through the Rom Kitchen... don't use the garbled updater-script it puts out. It mostly works, but it is trash and you won't learn much from it.
Experimentation!
Click to expand...
Click to collapse
Thanks for the input. I love hearing from other devs and the methods they prefer.
Sent from my Inspire 4G

this thread died quickly.

too bad because I want to do some studying up on it and creating some coolness myself eventually.
I know with iphones a lot of development was done right from the phone itself especially for app development, is there the same concept here?
and one other question, do you guys make any money off of these things at all? Im always looking for side work...

supermerkin said:
too bad because I want to do some studying up on it and creating some coolness myself eventually.
I know with iphones a lot of development was done right from the phone itself especially for app development, is there the same concept here?
and one other question, do you guys make any money off of these things at all? Im always looking for side work...
Click to expand...
Click to collapse
you can create scripts, push and pull files directly from the phone, so in a sense, yes you can work straight from the phone.
as for money...LOL...dont look to this for a secondary income by any means.
i have made all of $28 for my work on the inspire, and nothing from my work on the captivate

Pirateghost said:
you can create scripts, push and pull files directly from the phone, so in a sense, yes you can work straight from the phone.
as for money...LOL...dont look to this for a secondary income by any means.
i have made all of $28 for my work on the inspire, and nothing from my work on the captivate
Click to expand...
Click to collapse
Hey 28 bucks is 28 bucks, granted I made 40 per screen when I used to replace iphone digitizers but money is money you never have enough.
Thanks for the info though!
Sent from my MB860 using xda premium

I spend a lot of time flashing my Rom when I am working on it. I usually don't push and pull from the phone since most users aren't doing that and I want to emulate what they will be doing.
As for money... Yeah, not a method of reliable I income if you intend to use it as such. I have probably had around... $125 donated to me by some incredibly awesome people.
If you intend to become a Rom dev, be friendly and responsive. People really appreciate someone who is willing to answer questions and give help where needed. Being standoffish like some I have seen is a sure way to get labeled with some bad words

Thank you guys for the responses. This is something I've been wondering as I've taken the plunge into modifying my Atrix. To say it's been addictive is an understatement. I started toying with the idea of putting my own ROM together pretty early on, so basic info like this is much appreciated.
Like someone said early on in the thread, everyone has to start somewhere so even seemingly small bits of info are always welcome.

The biggest hurdle is understanding adb commands and when to use them. Then, how to view the individual file strings inside the /sytem/build.prop and apks AND actually understand what it means. I have spent hours wandering around in root explorer look in folders and seeing what is inside. Pulling something with adb actually removes it from the phone right? Then I have to adb push back into the folder I pulled from. Should I use Ubuntu on my Win7 pc? I tried eclipse, installer r13, and I do have apkmanager but have yet to figure out how to actually use it.
I learn by doing what someone is telling me so reading it sometimes doesn't make sense since I can't "see" it and what it's supposed to look like. WIsh someone lived nearby to just to help get me started.....Beers and food on me LOL. Or at least had some time over the phone even.
Thanks Diviance (again) and to you PirateGhost for your help.

no adb pull does not remove it from the device. it copies to your local machine
as far as using windows vs linux. use whatever will make you more comfortable. i can assure you a lot of tutorials, and howtos are written with linux in mind, but if you can understand the basics, you will be able to translate it to windows. not to mention once you get into tearing down APKs, jars, dexes, etc....its all the same code inside no matter what tools you are using to get to them. i find linux easier to work with when it comes to stuff like this, some people think windows is easier.

If I were to get linux on my PC, would adb work within the linux evironment...meaning can I adb from linux and compile/decompile etc from there?

Phoneguy589 said:
If I were to get linux on my PC, would adb work within the linux evironment...meaning can I adb from linux and compile/decompile etc from there?
Click to expand...
Click to collapse
well you would compile/decompile directly on the phone unless you were using the sdcard....it wouldnt be pretty
you adb pull /system/file modify it, then adb push /system/file
it works the same in windows as it does in linux from that aspect. i just find working in linux easier.
here, this should help get you started somewhere, its not exactly like this phone, and the guide should be used as a reference and not a manual.
http://forum.xda-developers.com/showthread.php?t=915435
if you are technical enough, just by looking at that thread, you will understand a good portion of whats going on.

Thanks for all the help. Im getting bored flashing other peoples work and would like to help tweak things. And develop some stuff.
Thanks bro.

Related

[Q] rooting EVO seems like complete nonsense

Greetings all,
This is my first post here. I hope to make it a memorable one.
Really; I've been programming on the UNIX system for more than 20 years.
Having picked up and activated a brand new HTC-EVO android-2.2 (froyo) 4
days ago. I discover "big brother's watching" (google). This is completely unacceptable. Looking for the definitive answer brings me to XDA. So, I spent the past 2 days reading threads here. But can't shake the notion that all of this "rooting" seems overly complicated. I mean if android runs atop Linux, WTF is all this MS-DOS BS? Granted, I'm new to the EVO, but in UNIX, it seems that a simple:
Code:
# su
password
# mkdir /evoandroid
# mount /dev/android-device /evoandroid
dd if=<your-ROM-name-here> of=/evoandroid
would suffice.
This above is only slightly different for Linux - but I think you get the picture.
Sure. I know the SDK && NDK are written for MS-DOS & Co.
But what's that got to do with writing a "rooted" ROM to the EVO?
Because Windows users use the EVO too?
Sorry, but what am I missing here? Would love to start writing a self-made ROM to my new EVO. In fact I've already nearly finished a compilation that features an almost indistinguishable OS X. But hate to move any farther forward w/o clearing this "nit" I have with writing to the EVO.
Thank you for all your time and consideration.
--Chris
I don't understand your question. Can you clarify, and I'm sure someone will be glad to help if possible.
You can download Windows, Mac, and Linux versions of the SDK & NDK, so I'm not sure why you think they are Windows specific. (Many, if not most, ROM devs use Ubuntu since compiling AOSP & kernel source works well on it.)
If there is some part of the rooting process for the EVO that requires Windows, then that might be better directed to the EVO specific forums. I have helped to root one EVO myself, and it was done from a Mac. Things may have changed though.
Hello gnarlyc, and thank you for your reply.
gnarlyc said:
I don't understand your question. Can you clarify, and I'm sure someone will be glad to help if possible.
Click to expand...
Click to collapse
OK fair enough. I'll try to be more concise.
Currently, it is my understanding, that to "get root" on the EVO. One must download the SDK && NDK. Then use the tools provided there-in to "get root".
Yes, I am aware that you also need some of the wonderful utilities provided by the "dev's" here at XDA.
But I wonder why it wouldn't be simpler to mount(8) ( http ://internethell.net/man/?query=mount ) the EVO (rom & sdcard), and simply write the custom ROM "raw" right to the EVO's live rom.
eg; on a *NIX boxen
Code:
# su
password
# mkdir /evoandroid
# mount /dev/evo-device /evoandroid
# dd if=./custom-rom.img of=/evoandroid
see: http ://internethell.net/man/?query=dd
Done. That was easy, wasn't it.
gnarlyc said:
You can download Windows, Mac, and Linux versions of the SDK & NDK, so I'm not sure why you think they are Windows specific. (Many, if not most, ROM devs use Ubuntu since compiling AOSP & kernel source works well on it.)
Click to expand...
Click to collapse
I was aware of the source being *NIX. But when I went to HTC, they presented me with only the Windows version. Perhaps, they felt I was on Windows, based on some browser "sniffing" thing. Dunno. I don't have Windows on anything. But occasionally on one of my BSD servers, I'll mount it in a Virtualbox VM.
Thanks for your info here. I'll go back and get the Mac version. I don't suppose it supports Apple Macs?
gnarlyc said:
If there is some part of the rooting process for the EVO that requires Windows,
Click to expand...
Click to collapse
See above.
gnarlyc said:
then that might be better directed to the EVO specific forums.
Click to expand...
Click to collapse
Couldn't find the HTC-EVO phone as a separate forum - like the other EVO's.
gnarlyc said:
I have helped to root one EVO myself, and it was done from a Mac. Things may have changed though.
Click to expand...
Click to collapse
I don't feel I'd have any trouble "rooting" it. I just felt that all of the "tut's" I've found here were un-necessarily complicated - overly complex. So I'm wondering why my example above wouldn't work.
Thank you again gnarlyc, for your thoughtful response.
--Chris
CTH-EVO said:
Hello gnarlyc, and thank you for your reply.
OK fair enough. I'll try to be more concise.
Currently, it is my understanding, that to "get root" on the EVO. One must download the SDK && NDK. Then use the tools provided there-in to "get root".
Yes, I am aware that you also need some of the wonderful utilities provided by the "dev's" here at XDA.
But I wonder why it wouldn't be simpler to mount(8) ( http ://internethell.net/man/?query=mount ) the EVO (rom & sdcard), and simply write the custom ROM "raw" right to the EVO's live rom.
eg; on a *NIX boxen
Code:
# su
password
# mkdir /evoandroid
# mount /dev/evo-device /evoandroid
# dd if=./custom-rom.img of=/evoandroid
see: http ://internethell.net/man/?query=dd
Done. That was easy, wasn't it.
I was aware of the source being *NIX. But when I went to HTC, they presented me with only the Windows version. Perhaps, they felt I was on Windows, based on some browser "sniffing" thing. Dunno. I don't have Windows on anything. But occasionally on one of my BSD servers, I'll mount it in a Virtualbox VM.
Thanks for your info here. I'll go back and get the Mac version. I don't suppose it supports Apple Macs?
See above.
Couldn't find the HTC-EVO phone as a separate forum - like the other EVO's.
I don't feel I'd have any trouble "rooting" it. I just felt that all of the "tut's" I've found here were un-necessarily complicated - overly complex. So I'm wondering why my example above wouldn't work.
Thank you again gnarlyc, for your thoughtful response.
--Chris
Click to expand...
Click to collapse
Ok, I think I get you now. I don't think this will work though. The running image is on an internal partition. Maybe you can mount that? I don't think so though. It doesn't seem to me that mounting the sdcard will get you anywhere. So many 'impossible' things have already been done with Android, so I wouldn't count you out completely.
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
Kernel source for HTC phones - http://developer.htc.com/
Android Open Source Project source - http://source.android.com/source/download.html
Android SDK - http://developer.android.com/sdk/index.html
Android NDK - http://developer.android.com/sdk/ndk/index.html
I recommend this script for grabbing AOSP source on Debian/Ubuntu - http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/
You can change 'eclair' to 'froyo' for Android 2.2 source. It's good to look at this even if you don't use a Debian based distro, although it's mostly the same stuff that's on Google's site.
EVO forum - http://forum.xda-developers.com/forumdisplay.php?f=653
I don't think there's more than one EVO, but maybe I'm wrong. The internal name is 'Supersonic', btw. You might see that in places.
Won't this root method work? - http://forum.xda-developers.com/showthread.php?t=787304
Some other light reading -
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
http://forum.androidcentral.com/hacking/6037-general-rom-faq.html
http://forum.xda-developers.com/showthread.php?t=633246
http://blog.coralic.nl/2010/01/28/build-eclair-aka-android-2-1-for-hero-from-source/
http://forum.xda-developers.com/showthread.php?t=622916
http://forum.androidcentral.com/htc...how-build-your-own-kernel-package-source.html
http://forum.xda-developers.com/showpost.php?p=6738713&postcount=1
http://www.kandroid.org/android_pdk/index.html
http://android-dls.com/wiki/index.php?title=Main_Page
https://docs.google.com/Doc?docid=0AcdxIJRSH9ypZGZzc2pxNDlfMjdnazk4OHNxZA&hl=en
http://forum.xda-developers.com/showthread.php?t=641223
http://adrianvintu.com/blogengine/post/Colored-Logcat-Script-for-Windows.aspx
http://www.androidenea.com/2009/08/init-process-and-initrc.html
http://forum.xda-developers.com/showthread.php?t=623976
http://lukasz.szmit.eu/2009/12/making-your-own-rooted-android-rom.html
http://androidguts.com/index.php/Main_Page
http://groups.google.com/group/android-kernel
http://groups.google.com/group/android-building
http://groups.google.com/group/android-porting
http://groups.google.com/group/android-developers
http://groups.google.com/group/android-ndk
http://groups.google.com/group/android-platform
Greetings gnarlyc.
Let me first preface this by saying how grateful I am for all the time and effort you put into your last reply - WOW.
I don't want to sound argumentative. But just for the record, when I plug my EVO into one of my BSD servers, it immediately sees both the running system, and the sdcard. While I haven't yet attempted to mount the live system. I will endeavor to do so when I can determine what state I need to have the phone in to safely mount it. I'll report back to you with my results.
I have a strong suspicion I'll be posting a "one step to root and ROM" here within a week. That should help a lot of folks out.
I primarily develop in, and on the BSD family of operating systems. But given the Linux ABI support on BSD, I've made my development workstation dual-boot BSD/Fedora 13. But given the workstation is an AMD X4 six-core 4Ghz
board. I've decided to cobble up a copy of OS X (Apple CPU) to install on it as well - see; triple-boot. I'm just about to install it in the next couple of days. But thought I'd take a break on that development, and play with my new toy.
I should also have a copy of OS X for the EVO before long. Think anyone would be interested?
Well, I may not be new to development, but this EVO is new territory for me. So I'd do well to take advantage of the wealth of information you've thoughtfully provided me.
Best wishes to you gnarlyc, and thanks again.
--Chris
CTH-EVO said:
Greetings gnarlyc.
Let me first preface this by saying how grateful I am for all the time and effort you put into your last reply - WOW.
I don't want to sound argumentative. But just for the record, when I plug my EVO into one of my BSD servers, it immediately sees both the running system, and the sdcard. While I haven't yet attempted to mount the live system. I will endeavor to do so when I can determine what state I need to have the phone in to safely mount it. I'll report back to you with my results.
I have a strong suspicion I'll be posting a "one step to root and ROM" here within a week. That should help a lot of folks out.
I primarily develop in, and on the BSD family of operating systems. But given the Linux ABI support on BSD, I've made my development workstation dual-boot BSD/Fedora 13. But given the workstation is an AMD X4 six-core 4Ghz
board. I've decided to cobble up a copy of OS X (Apple CPU) to install on it as well - see; triple-boot. I'm just about to install it in the next couple of days. But thought I'd take a break on that development, and play with my new toy.
I should also have a copy of OS X for the EVO before long. Think anyone would be interested?
Well, I may not be new to development, but this EVO is new territory for me. So I'd do well to take advantage of the wealth of information you've thoughtfully provided me.
Best wishes to you gnarlyc, and thanks again.
--Chris
Click to expand...
Click to collapse
No problem. I'm wrong at least once per day, but that's ok as long as I realize it and learn from it. I hope you are able to work it out.
I've seen 'rooting' of the Eris go from installing a leaked ROM to doing some crazy timing with pulling out the sdcard (or something like that) to a 1-click app that's on the market. Some really determined, knowledgeable, and intelligent people have put a lot of time into making these things easier and better. Welcome to the community!
A copy of OS X for the EVO? Do you mean running on the EVO? If so, then I'm sure people would be interested from a purely geeky perspective. There are several phones out there with the option to install Ubuntu and/or Debian on them. They don't seem to be of practical use yet. Can you cross-compile Darwin for arm CPUs? Maybe I'm confused here... My knowledge of such things only runs so deep.
(Side note - I keep those links in a text file just for such occasions. I don't see why everyone should have to spend their time searching for the sites that I already know about.)
gnarlyc said:
No problem. I'm wrong at least once per day, but that's ok as long as I realize it and learn from it. I hope you are able to work it out.
I've seen 'rooting' of the Eris go from installing a leaked ROM to doing some crazy timing with pulling out the sdcard (or something like that) to a 1-click app that's on the market. Some really determined, knowledgeable, and intelligent people have put a lot of time into making these things easier and better. Welcome to the community!
A copy of OS X for the EVO? Do you mean running on the EVO? If so, then I'm sure people would be interested from a purely geeky perspective.
Click to expand...
Click to collapse
Yes, and no. The "apps" and android are made with Java - something Oracle is currently sueing Google for as I speak (Google clams "clean-room" in-house Java, Oracle claims otherwise). So for all practical purposes, there is no reason that those same "apps" found on the phones, and in the "market" can't be made to run on OS X. In fact, it opens the doors to additional "apps" that otherwise wouldn't be possible - iTunes, for example.
gnarlyc said:
There are several phones out there with the option to install Ubuntu and/or Debian on them. They don't seem to be of practical use yet. Can you cross-compile Darwin for arm CPUs?
Click to expand...
Click to collapse
Glad you asked. BSD (which is what "hosts" NeXT/Darwin) has no problems with ARM, and I'm confident that I can manipulate Darwin to work on Snapdragon.
gnarlyc said:
Maybe I'm confused here... My knowledge of such things only runs so deep.
(Side note - I keep those links in a text file just for such occasions. I don't see why everyone should have to spend their time searching for the sites that I already know about.)
Click to expand...
Click to collapse
I'm really glad you do - it really helped me a lot not having to weed all these "jewls" out. Thank you very much for sharing them with me, I appreciate it!
Best wishes to you gnarlyc, and have a wonderful day.
--Chris
Are they doing something similar to what you are talking about?
http://forum.xda-developers.com/showthread.php?t=788554
gnarlyc said:
Are they doing something similar to what you are talking about?
http://forum.xda-developers.com/showthread.php?t=788554
Click to expand...
Click to collapse
Thanks for the link gnarlyc.
I thought about something similar to this when I first thought about "rooting" the phone; making a system folder on the sdcard, then "soft linking" it to /system.
Problem being, the performance hit using the sdcard for system related tasks made this option undesirable.
Thanks again for sharing the link, gnarlyc.
OH, one thing though, my phone is not linked to google. I have no google account(s). I activated this phone in "developer mode". Meaning that there is no personal info to worry about "attached" to this phone. Making it an ideal candidate for creating a bone-stock ROM for recovery/hacking purposes. I don't suppose you can direct me to "cloning" this phone. So that I might share this w/others as a ROM suitable for un-bricking their phone, could you?
HTC-EVO (supersonic) s/w# 3.26.651.6, baseband# 2.15.00.07.28, PRI version 1.71_003, andriod 2.2
Thanks again.
--Chris
Can I ask, what do you mean by "big brother (Google) is watching"?
CTH-EVO said:
Thanks for the link gnarlyc.
I thought about something similar to this when I first thought about "rooting" the phone; making a system folder on the sdcard, then "soft linking" it to /system.
Problem being, the performance hit using the sdcard for system related tasks made this option undesirable.
Thanks again for sharing the link, gnarlyc.
OH, one thing though, my phone is not linked to google. I have no google account(s). I activated this phone in "developer mode". Meaning that there is no personal info to worry about "attached" to this phone. Making it an ideal candidate for creating a bone-stock ROM for recovery/hacking purposes. I don't suppose you can direct me to "cloning" this phone. So that I might share this w/others as a ROM suitable for un-bricking their phone, could you?
HTC-EVO (supersonic) s/w# 3.26.651.6, baseband# 2.15.00.07.28, PRI version 1.71_003, andriod 2.2
Thanks again.
--Chris
Click to expand...
Click to collapse
If you have a custom recovery partition like Amon_Ra's, you can do a NAND backup to the sdcard. It's basically a snapshot of the currently flashed ROM. That should work just fine. NAND's can be manipulated in dsixda's kitchen (although I haven't tried it, the option is there and dsixda has things together pretty well) and I THINK you should be able to copy one from one EVO to another and do a restore.
A side note... Generally when people create the ROMs that are out there, they do not include the directories under /data that might have personal info, so you can actually create a bone-stock ROM like you want without using a phone in such a state as yours. I've flashed a lot of different ROMs, and I'm pretty sure that none of them had identifying information about the dev unless they purposely did something like put their name in the build.prop or the wallpaper. Generally, if they include a /data, it's just for /data/app, although there are exceptions like when they want to change a database or something else that might be under /data.
As far as I know, your phone won't be linked to Google until you sign in with the Google account. I've gone several days on a fresh ROM without setting that up. Eventually, I find I want to install something from the Market, so I go ahead and sign in...
MaybachMan said:
Can I ask, what do you mean by "big brother (Google) is watching"?
Click to expand...
Click to collapse
Greetings MaybachMan.
Yes. Of course you may.
What I mean by that, is that is that Google monitors your activity. To what extent,
all depends on what applications you use, and to what extent you have a relation
with Google - Gmail, Google search, or any other Google application/account you
have with Google. Myself, on the other hand, I activated my EVO in "developer" mode.
I have no Gmail account, or any other relationship/account with Google.
Google needs your data. Google is a "data miner" that's what Google does.
I don't have a problem with their chosen line of business. I simply choose not to be
part of the data they "mine" - to the extent I am able.
Meaning in the context of my OP; I want to remove most (if not all) of the Google apps
on my EVO - including the Market app.
I hope I have cleared things up for you, MaybachMan.
Thanks for your reply.
--Chris
gnarlyc said:
If you have a custom recovery partition like Amon_Ra's, you can do a NAND backup to the sdcard. It's basically a snapshot of the currently flashed ROM. That should work just fine. NAND's can be manipulated in dsixda's kitchen (although I haven't tried it, the option is there and dsixda has things together pretty well) and I THINK you should be able to copy one from one EVO to another and do a restore.
A side note... Generally when people create the ROMs that are out there, they do not include the directories under /data that might have personal info, so you can actually create a bone-stock ROM like you want without using a phone in such a state as yours. I've flashed a lot of different ROMs, and I'm pretty sure that none of them had identifying information about the dev unless they purposely did something like put their name in the build.prop or the wallpaper. Generally, if they include a /data, it's just for /data/app, although there are exceptions like when they want to change a database or something else that might be under /data.
As far as I know, your phone won't be linked to Google until you sign in with the Google account. I've gone several days on a fresh ROM without setting that up. Eventually, I find I want to install something from the Market, so I go ahead and sign in...
Click to expand...
Click to collapse
Thank you gnarlyc! You're a "pillar of wisdom" where these phones are concerned.
I really appreciate your sharing it with me.
Best wishes, and thanks again gnarlyc.
--Chris
CTH-EVO said:
Thank you gnarlyc! You're a "pillar of wisdom" where these phones are concerned.
I really appreciate your sharing it with me.
Best wishes, and thanks again gnarlyc.
--Chris
Click to expand...
Click to collapse
Well, thank you. At least one of the voices tells me that's why I'm here. I'm still learning, and I find it easier to pass on what I learn if I learned it recently. Since I just got this phone in March, nearly everything I know about it is pretty fresh!
In addition the "big brother" post. The book 1984 I believe is where it comes from. The author is George Orwell and usually this book refers to things in society today as an Orwellian society. It's a really great book anyone who has spare time should really check it out if they like conspiracies, apocalyptic scenarios etc.
@CTH-EVO - I understand having a little linux background myself why you feel the way you do that you could just dd a raw image to the phone but there are a few issues with that, that I would like to clarify with you.
It's not entirely impossible. We have seen that around here many times.
However....
1. To clarify, Android is NOT general linux in the form you think of it. It's definitely HAS a beautiful open source twin sister (AOSP) but HTC's version of sense is locked down, restricted, and tight. But there are other reasons why..
2. The boot process... By default you can't mount the system directory to be writable, only readable which wouldn't make a hill a beans difference if you try to use dd. It would just produce error:unwritable.
To iterate further into this subject though, there is also the boot process and the partitions that go with that. Let me go ahead and get the boot process out of the way first:
**Generic Boot Process**
1.SelfCheck
2.Radio
3.S-on/S-off (developer mode only)
4.Recovery (if installed)
5.Rom
By default when the system boots it is directed specifically from the radio (unless s-on is installed) to the system partition, which by default the system partition locks any root needed functions out (including writablility from external sources).
One other thing of note, the phone more than welcomes ANY linux o.s. to see the internal phone storage, just that you can't write to it unless you have root.
However I also would like to inform you that there are universal root programs getting easier and easier these days to use so you don't have to download all this and that, and most phones now you don't even have to have a computer to root it.
Here's what is involved in the rooting process:
1. Exploit code to inject code for root access (done from shell of phone)
2. root files (permissions program, etc)
3. recovery flash. (flashed to it's own 'sub' partition)
Actually come to think of it you used to have to boot into recovery to root (well.. not really a recovery but the stock wiping/reset program) And you could possibly get dd to flash the system from there, but the real issue here is just not bricking the device.
The device itself is of course just one memory bank partitioned into different places. If you use dd to flash a raw image to the rom, it would wipe out EVERYTHING would it not? And not JUST the regular rom partitions? This would be sweet if you can set up an entire phone's system including bootstrap, radio, and recovery (effectively unbricking probably 3/4 the bricked phones out there right now) but if it's unsuccessful, or unfinished then would it not brick it entirely?
Hope this helps you out!

[Q] Can you pass some knowledge?

im new to the android community and im looking to learn how to perform certain tasks such a development. i am keen on picking things up fast, diving in and just learning from trial and error. im hoping some of you guys can shed some light on what are some things i should start out with. ive come a long way in picking things up because before the thunderbolt came out i was unaware of how to root, abd, roms and kernels. since ive owned it, i have rooted manually and put my tb through many flashes. id like to work up and just get a good sense of how to tweak app and mod certain features to make them more useful to me. so if you have any tips, tricks or just knowledge to drop, id love to know where i should begin so i can one day be a contributor to this site and its users. thanks
I'm a C/C++/Java programmer and I'm currently working on some applications myself, and I have found that the general discussion under Android development on XDA has been very helpful. Lots of threads there with nuggets of info.
im going to school for programming and computer science. i havent really been able to go into to much depth with it so this is my attempt to go above and beyond so i will have a little something to bring to the table when i go to class. i want to be able to know to how to do something while understanding how im doing it and what makes it do it. im new to all of this and hope within the next month i can bring something for all of you guys to critique so i can go back to the drawing board and do something better.
Can anyone help with creating custom skins for apps/widgets it is something i have always wanted to get into
check out APK manager, it lets you get into apk's and make some edits and changes to XML files and layouts, etc. but not all of the source code can be extracted from apk's once compiled, just the way it is. but still allows for mods nonetheless!
http://forum.xda-developers.com/showthread.php?t=695701

[Q] Is it hard to create own custom rom?

Hey, I was wondering if it was hard to create these roms?
It looks like the equivalent to using nLite or somethin to slipstream different packages in, and to remove anything else unwanted. Is it that way? But perhaps, with a command line rather than a GUI?
I am currently running UnNamed 1.0.3, but there are still a few changes I'd like to make myself, i.e. to touchwiz. Could I go and edit this too?
demon9206 said:
Hey, I was wondering if it was hard to create these roms?
It looks like the equivalent to using nLite or somethin to slipstream different packages in, and to remove anything else unwanted. Is it that way? But perhaps, with a command line rather than a GUI?
I am currently running UnNamed 1.0.3, but there are still a few changes I'd like to make myself, i.e. to touchwiz. Could I go and edit this too?
Click to expand...
Click to collapse
Depends on the customizations - removing stuff can be quite easy - just remount /system read/write and go to town on /system/app
https://spreadsheets.google.com/spr...1gdDJRekl4QmkyNmIzUmRvX2h3UDVkQXc&output=html has a list of safe/unsafe removals for I9100 - we're pretty close to it.
Adding stuff can often be quite difficult - In general, many of the frameworks are interconnected, so for example, you might add something that depends on our framework having a component that isn't there, and it'll go break. Or that component might be there, but have a different resource ID. Things get really difficult really fast once you start getting into smali/baksmali land...
At some point I'm going to start documenting the steps I've taken to where I am with my own personal device right now in terms of debloating and modifications - but I haven't had the time to document it yet. Whenever it does come, I will warn you - my guide will be useless to someone that doesn't have a fairly high degree of familiarity with a Unix shell. I intend it to be a high-level guide for people who have reasonably good general technical skills but lack familiarity with the Android userspace stack.
Entropy512 said:
Depends on the customizations - removing stuff can be quite easy - just remount /system read/write and go to town on /system/app
https://spreadsheets.google.com/spr...1gdDJRekl4QmkyNmIzUmRvX2h3UDVkQXc&output=html has a list of safe/unsafe removals for I9100 - we're pretty close to it.
Adding stuff can often be quite difficult - In general, many of the frameworks are interconnected, so for example, you might add something that depends on our framework having a component that isn't there, and it'll go break. Or that component might be there, but have a different resource ID. Things get really difficult really fast once you start getting into smali/baksmali land...
Click to expand...
Click to collapse
Ahhh... Somalia/baksmali land. Oh how I hated that place when I began to learn.
Entropy512 said:
I will warn you - my guide will be useless to someone that doesn't have a fairly high degree of familiarity with a Unix shell. I intend it to be a high-level guide for people who have reasonably good general technical skills but lack familiarity with the Android userspace stack.
Click to expand...
Click to collapse
I'll really be looking forward to this guide then as the Unix shell is where I'm comfortable, but I'm not too familiar with the Android userspace stack. I suppose I've my own self to blame for not making the time to get familiar with it, but as busy as I stay with work, being on-call and all the ad-hoc that comes in between, time for Android can be scarce. A guide would save me a lot of time for sure and be very much appreciated.
Ah, gotcha. Seems pretty intense then, not quite like Slipstreaming Windows as I imagined. Too bad.
So this is not something to pick up quickly and just do it then, huh? Too bad. Guess I'll have to rely on you guys! Thanks to all that go through this lol
demon9206 said:
Ah, gotcha. Seems pretty intense then, not quite like Slipstreaming Windows as I imagined. Too bad.
So this is not something to pick up quickly and just do it then, huh? Too bad. Guess I'll have to rely on you guys! Thanks to all that go through this lol
Click to expand...
Click to collapse
Some things are easy, some things are harder.
Debloating is easy - just nuke stuff from /system/app one at a time, using this as a guide: https://spreadsheets.google.com/spr...1gdDJRekl4QmkyNmIzUmRvX2h3UDVkQXc&output=html
Keep a backup around in case you nuke something you shouldn't.
Deodexing - harder, I needed to use dsixda kitchen with a few caveats (such as CWM 5.x backups will NOT work as input to a dsixda dump - you need to use dd to dump your /system partition). According to gtg465x, deodexing with dsixda is OK, doing any more with it will incur the wrath of the ROM gods.
One thing to clearly start looking at - smali/baksmali. Smali/baksmali is a ***** on odexed ROMs, if a ROM you're using is odexed, deodex it or run away unless you like pain and suffering.
gtg's github repo for unnamed ROM serves as great smali/baksmali reference for many runs - but if you try to copypasta his changes, Bad Things will usually happen.
This is from the Sony Xperia X10 section, which is the phone I came from. Not sure if this Script/Application can be adapted for the Galaxy, but this allows a user to Port a MiUI ROM in "30 seconds" I only played with it a little bit.
http://forum.xda-developers.com/showthread.php?t=1294451
btw, Entropy512 one of my good friends I went to college with is from Oswego!
highaltitude said:
This is from the Sony Xperia X10 section, which is the phone I came from. Not sure if this Script/Application can be adapted for the Galaxy, but this allows a user to Port a MiUI ROM in "30 seconds" I only played with it a little bit.
http://forum.xda-developers.com/showthread.php?t=1294451
btw, Entropy512 one of my good friends I went to college with is from Oswego!
Click to expand...
Click to collapse
I'm in Owego, not Oswego... One S makes a few hundred miles difference. (Northern vs. southern border of the state.)
Entropy512 said:
I'm in Owego, not Oswego... One S makes a few hundred miles difference. (Northern vs. southern border of the state.)
Click to expand...
Click to collapse
LOL, oops

[Q] Where to learn the basics?

I haven't seen this anywhere as it's own thread so I apologize if it's been talked about in other threads.
I'm not an amazing programming guru by any means, but I'm definitely no slouch either. My problem is that I don't have time to start diving into code and reverse engineering, but once I get a basic understanding of "what's what" I do a pretty good job of learning by experimenting and doing small projects etc.
What I'm looking for is a basic break down of the workings of the android system. Things like wtf the osh partition is for and how different parts of code interact to create basic functions etc.
Also, I'm curious to know if you can use the Android SDK emulator to test custom ROMS. I know you can use it to test apps you create for stock ROMS, but wasn't sure if it'll just run any ROM.
First off, buy root explorer. You can poke around a ton and learn a lot.
Next maybe download a few roms/cwm flashables and unzip them. Just look around and open stuff up.
Go through the sdk/source it has a lot of useful stuff.
Yes you can use the sdk emulator to test roms out.
The best thing you can do to learn is dive into a project you are interested in. Make mistakes and poke around. There are a lot of people that can help. 90% of my learning android was just playing around with it and poking around. Google helps too.
This stuff is easier than it seems. You just have to peel the layers back.
Btw osh is webtop
tcf84 said:
I haven't seen this anywhere as it's own thread so I apologize if it's been talked about in other threads.
I'm not an amazing programming guru by any means, but I'm definitely no slouch either. My problem is that I don't have time to start diving into code and reverse engineering, but once I get a basic understanding of "what's what" I do a pretty good job of learning by experimenting and doing small projects etc.
What I'm looking for is a basic break down of the workings of the android system. Things like wtf the osh partition is for and how different parts of code interact to create basic functions etc.
Also, I'm curious to know if you can use the Android SDK emulator to test custom ROMS. I know you can use it to test apps you create for stock ROMS, but wasn't sure if it'll just run any ROM.
Click to expand...
Click to collapse
Sent from my MB855 using XDA App
jokersax11 said:
First off, buy root explorer. You can poke around a ton and learn a lot.
Next maybe download a few roms/cwm flashables and unzip them. Just look around and open stuff up.
Go through the sdk/source it has a lot of useful stuff.
Yes you can use the sdk emulator to test roms out.
The best thing you can do to learn is dive into a project you are interested in. Make mistakes and poke around. There are a lot of people that can help. 90% of my learning android was just playing around with it and poking around. Google helps too.
This stuff is easier than it seems. You just have to peel the layers back.
Btw osh is webtop
Sent from my MB855 using XDA App
Click to expand...
Click to collapse
I appreciate the feedback and I definitely will do that. It's the same way I taught myself php but with that I actually started out just making various php scripts. I've never had to open the source of a major program and start sorting through, but I'm sure I can do it though I'm guessing it will take some time to get things sorted out.
tcf84 said:
I appreciate the feedback and I definitely will do that. It's the same way I taught myself php but with that I actually started out just making various php scripts. I've never had to open the source of a major program and start sorting through, but I'm sure I can do it though I'm guessing it will take some time to get things sorted out.
Click to expand...
Click to collapse
take a look at joker's compiling thread as well... and i'd add just read - there's a ton of information on xda and other sites on code changes, etc to 'tweak' the system.
i'm sure the guys on irc would answer any questions you may have as well, if they're not sleeping.

Wanna start developing ROMS but don't know how/where to begin...

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 )

Categories

Resources