Looking to code...

melch8805

Well-known member
Jan 31, 2011
53
8
0
All,

I am looking to start coding/messing around with android... I was just wondering if there is a group on here or somewhere that is writing apps or actually changing the OS? I was kind of hoping for a small group as I am sure to have some pretty lame questions in the beginning.

Thanks!
 
you might try out the xda forums. its kinda what its for. lots of people trying out things like you are. i wish i had the knack for it.
 
  • Like
Reactions: melch8805
you might try out the xda forums. its kinda what its for. lots of people trying out things like you are. i wish i had the knack for it.

Thats what I was mostly likely going to end up doing. I just wanted to check here and see if there were any other "hobbyists" that were just starting out.

Thanks!
 
If you want to start actually writing apps, you'll need to know Java. You can check out the Eclipse IDE and read how to get it all set up for Android here. A word of warning, the learning curve will be pretty steep if you're not already fluent in Java and programming in general.

To start just tinkering, with a Clockwork backup, you can just start poking around the file system. A lot of config files (*.conf) are straight text, which you can view right on the phone. Some things are self explanatory, some less so. But with a backup, you can fiddle with things a bit.

Another option is to modify existing apps or parts of the OS. If you copy /system/framework/framework-res.apk to your computer, rename it to .zip and unzip it, you'll get all the images used in a lot of the interface. You can tweak the images and add them back into the apk to change the look of the interface. That's how I added the percent to my battery icon.

There's a few tools you'll need if you want to start really taking apk's apart:

Apktool decodes all the files and resources in apk files. Unzipping them leaves the .xml files still encoded, this tool will decode them into editable text. Apktool can also be used to rebuild the edited files.

Smali and Baksmali can be used to disassemble .dex files, again into editable text, and then reassemble them back into .dex files.

It's a bit like following a crumb trail - you'll find something that'll lead you to look somewhere else, and there, you'll find something to lead you even somewhere else. Google is your friend, whatever you want to do, chances are, someone else has tried something similar and written about it.

Like I said, make sure you have a backup, because you *will* send your phone into a boot loop or a force close loop of hell at some point, guaranteed! When that happens, just restore and try to figure out what went wrong.

Be warned though, fiddling can get addictive!

Good luck.
 
Another option is to modify existing apps or parts of the OS. If you copy /system/framework/framework-res.apk to your computer, rename it to .zip and unzip it, you'll get all the images used in a lot of the interface. You can tweak the images and add them back into the apk to change the look of the interface. That's how I added the percent to my battery icon.

i cuold say change the color of the notification bar to blue instead of black rezip the framework, rename it and now i have a blue notification bar? is that the basics of themeing? or am i over simplifying it?
 
And when it comes to Java, Oracles online tutorials are the best, that and the Java API. Just make sure you understand what your coding and why you are doing a particular call or method, rather than just looking at tutorials and copying the code.
 
  • Like
Reactions: melch8805
i cuold say change the color of the notification bar to blue instead of black rezip the framework, rename it and now i have a blue notification bar? is that the basics of themeing? or am i over simplifying it?

That's pretty much it. If you want to change an image in any significant way - changing the size or the 9 patch information, you'd need to rebuild the apk using apktool, but if you're keeping the image the same size and just changing colors, you can just replace the image inside the existing apk.

The one thing to pay attention to is how the files are stored inside the apk, which is essentially just a zip file. Some files are stores uncompressed, others use standard zip compression. Most of the png files, for example, are stored uncompressed. Just mimic what's already there and you should be fine.

You can do more with menus and stuff if you start editing the xml files, but for just changing the look of what's there, it's just editing the images for the most part.
 
  • Like
Reactions: melch8805
I've actually been thinking of this myself. I do have little programming experience, I've done some visual basic and C#, which as I understand it is almost exactly like java, being that MS couldn't continue with J#.
 
That's pretty much it. If you want to change an image in any significant way - changing the size or the 9 patch information, you'd need to rebuild the apk using apktool, but if you're keeping the image the same size and just changing colors, you can just replace the image inside the existing apk.

The one thing to pay attention to is how the files are stored inside the apk, which is essentially just a zip file. Some files are stores uncompressed, others use standard zip compression. Most of the png files, for example, are stored uncompressed. Just mimic what's already there and you should be fine.

You can do more with menus and stuff if you start editing the xml files, but for just changing the look of what's there, it's just editing the images for the most part.

that sounds pretty cool. im gonna give that a try. as you know i have no fear of bricking my phone, so even if i cant do any thing with it, whats the worst that could happen, i have to flash a new rom. kid stuff.

i think i will start with changing theme colors first, just to get my feet wet. does that sound like a good place to start?
 
Not trying to rain on XDA's parade, but what if there was a stickied topic in here where beginners can bounce ideas back and forth?

I do have some experience in a lot of different languages, but android is a new platform for me. So having a starting place, such as this, would benefit me greatly. I am sure it would also benefit many other that are in our shoes (wanting to start skinning, making apps and eventually playing with the OS).

It would take some of the burden off of the already bogged down coders and help build a larger coding base. Afterall, isn't that the purpose of the Android/Linux projects?

Just a thought...
 

Trending Posts

Forum statistics

Threads
956,940
Messages
6,970,722
Members
3,163,662
Latest member
galibalmasanick