AOSP, Eclipse, Vendor tress, system dumps and me - Android Software/Hacking General [Developers Only]

OK, I hope this isn't breaking any forum rules ;-) System dumps aren't considered warez are they?
I'm just now moving from developing applications on android to working on the system itself, but I need a little bit of help. I've never been much into hacking (well... we could go back to college days but lets not ;-)
I've developed a few android applications for my business; which is very exciting - they should be launching within the next few months, but I want to work on my own Android roms and ports and I have a complete newbie question.
I've got my development environment set up - I've got the AOSP 2.1 (android-2.1_r2 to be specific) source, GIT, REPO and everything I need from HTC's Kernel lists, I know how to sign a package, etc, etc, but I've run into a problem I can't seem to fix with Google search (HONOES!)
What the hell do I do with a system dump from another device? Whats the typical process most developers use to get these dumps up and running? Am I missing something blatantly obvious? (Don't flame me, I've been stuck in javascript, PHP and C# for nearly 4 years, I'm rusty :-( )
You don't have to write me a book, but a link to a guide would be helpful.

Related

Where to start?

I have experience with a lot of embedded devices and software and am interested in getting involved with Android modding. I'm just looking for some good documentation (if it exists) on the basics or even more advanced details. Are there any good resources that go over the architecture of Android and what have you?
I apologize if this is a repost or a common question, but I tried searching but couldn't find anything similar.
+1
Too short. Huh. Well, me too.
Well looks like I'm just going to have to dive head first into the source code lol.
I've only just begun looking at android app development myself, but I can recommend looking at the android notepad tutorial (should be among the first hits on google). Ti's a very basic tutorial but at least it introduces you to some android concepts.
Other than that, there are a few books around that you could take a look at, and ofc the all-mighty internet has virtually endless resources.
Happy coding!
It's best to have a good working knowledge of the Linux operating system / command line as well as a good understanding of Java.
Start with http://developer.android.com or www.helloandroid.com to familiarize yourself with Android's structure.
From there, check out http://source.android.com to get more into the source code and Android framework.
Google gives you pretty much everything you need.
chrisinaz said:
It's best to have a good working knowledge of the Linux operating system / command line as well as a good understanding of Java.
Start with http://developer.android.com or www.helloandroid.com to familiarize yourself with Android's structure.
From there, check out http://source.android.com to get more into the source code and Android framework.
Google gives you pretty much everything you need.
Click to expand...
Click to collapse
Thanks! This is exactly the type of information I was looking for.
Hello fellow Newbie! (this is my first ever post on xda!)
If you go to hackaday website there is a four-part tutorial. Sorry I could not post links:
"To prevent spam to the forums, new users are not permitted to post outside links in their messages. All new user accounts will be verified by moderators before this restriction is removed."
Hope you enjoy these (if you find them), and find them useful! Also, keep an eye out for part 5!
Regards,
Zelka
Zelka said:
Hello fellow Newbie! (this is my first ever post on xda!)
If you go to hackaday website there is a four-part tutorial. Sorry I could not post links:
"To prevent spam to the forums, new users are not permitted to post outside links in their messages. All new user accounts will be verified by moderators before this restriction is removed."
Hope you enjoy these (if you find them), and find them useful! Also, keep an eye out for part 5!
Regards,
Zelka
Click to expand...
Click to collapse
For the convenience of others:
Part 1
Part 2
Part 3
Part 4
+1.
I am a software/web developer and I have the Android SDK, Eclipse, Visual Studio 2008 and a number of other tools on my dev box. I love coding in C# but I can do Java and some other stuff too. I just got Eclipse (Helios) setup with the ADT plugin and I am messing around with the emulator. So this is basically what it used for testing/debugging etc. or is there something better? I have my first little app up and running in the VAD emulator. I found out that you need Eclipse 3.5 (not 3.6) and the JRE 1.6 for everything to be happy. Now where to go from here....
frankencat said:
+1.
I am a software/web developer and I have the Android SDK, Eclipse, Visual Studio 2008 and a number of other tools on my dev box. I love coding in C# but I can do Java and some other stuff too. I just got Eclipse (Helios) setup with the ADT plugin and I am messing around with the emulator. So this is basically what it used for testing/debugging etc. or is there something better? I have my first little app up and running in the VAD emulator. I found out that you need Eclipse 3.5 (not 3.6) and the JRE 1.6 for everything to be happy. Now where to go from here....
Click to expand...
Click to collapse
You can either use the Emulator or a physical device for debugging (granted the device has usb debugging enabled). I would just look over samples and try to make more complicated application from here, it seems like you have all the prep work done.
Ok here's a good one...when I use the keyboard in the emulator I get Japanese characters instead of English even though I have all the settings I can think of set to US English. Anyone know how to change that?

Where and How can I learn to develop roms/apps?

I hope I'm posting this in the right forums (I read the rules, but still).
Anyways, I'm wanting into get into Android development like doing applications or even hacking roms. I'm always reading at how awesome you guys are at developing stuff. Sadly, I don't have much experience. Majoring in Computer Engineering, but I can't wait for years.
So does anyone have any points on how to get started? Even if it takes me a year, I'm fine. I just want to get to know this stuff. Can I start with, say, Java? Thanks, and I apologize if this is the wrong board!
I would definitelly recommend first familiarizing yourself with Java and getting the language down and going to learn how to turn that knowledge into developing for Android from there. There are a lot of easy to find ways to learn Java right online from Youtube and articles people have written, however Android is a little harder to find help learning. Everyone seems to want you to pay them ridiculous amounts of money. And when you do find tutorials on it they will assume you have an advanced knowledge of working with the Java Development Kit and normally Eclipse as well.
Hi! But even if i learn "well" (not to mention basics) can i customize any rom as i wish or rather make some changes on? I've to get into java world beacuse my knowledges about are not necessary as android deserve...
Thanks in advance!
For app development, u hav to learn java and google APIs thoroughly.. u can learn from various development forums..
For Rom tweaking u need to learn linux scripts and other stuffs like directory tree n much more..

How to make an app?

I'm putting my theming project aside for now and get onto creating an app that I've always wanted to create that I do not see ANYWHERE in the market, forums, android websites, etc.
I've been reading and reading and reading different threads, instructions, etc. But no clue where to start. I've been reading on App Inventor but realized that it is very limited and I have my high doubts that App Inventor will not be able to achieve what I have in mind to make.
I've got the latest SDK and AVD Manager, JDK, Java, and have been using my emulator to test edited APKs. I'm pretty sure I'll be using my emulator to see how my app progress is coming along and see possible FCs and other issues and correct them as well as adding more to the app to make it even better.
But right now I'm stuck at where to begin here. Right when I was about to create this thread, I was making the name of the Title of this thread and was given threads relating to my title name and saw one thread that was sort of mentioning what I'm asking here.
I read the link provided in that thread ( http://developer.android.com/guide/topics/fundamentals.html ) and got some clues but just not enough to get me started here. I just need that push to get me going and eventually push it out to the market and make some money as a side project and learn from that and possibly make more useful apps. I cannot disclose my ideas here because then someone else (who has experience making apps) could take those ideas from me and go make it.
Is anyone willing to work with me here to get me started? I've helped countless people so it would be nice for a change for someone to help me out here.
There are so much Android development books on the market that I suggest to start with one of them. It's the best way to get some knowledge of the design principles used by the Android development framework.
Another method is to start with some examples found on the web. Just search for Android examples or something like that and you get tons of links
Another method is just to create something, get stuck and try to search for a solution (the most pragmatic method )
Yeah I know. That's why I'm constantly researching. I'm seeing some similarities between Java coding and building scripts in IRC (which I used to do, nothing big, just really small stuff). But my main problem is knowing what exactly are the main tools I need. I've had Eclipse for awhile but never used it. It has a lot of stuff in it and I get lost after a couple executions.
I'm just anxious to get started somewhere and get the momentum rolling for starters.
Could someone point me to a good book/ebook ? There are many out there but I'm sure that are some better than others...
If any french-speaker knows one in Voltaire's language, I'm in too. But English is fine...
DannyBiker said:
Could someone point me to a good book/ebook ? There are many out there but I'm sure that are some better than others...
If any french-speaker knows one in Voltaire's language, I'm in too. But English is fine...
Click to expand...
Click to collapse
Yeah, a good book (english) would be great. Can anyone recommend one?
You don't have to buy books but they do contain a lot more info in one book and would be better to have than trying to scour the internet and pull a bunch of infos together and try to put it together to understand step by step on how to get started and everything else.
Here's a link to a lot of android development books:
http://www.amazon.com/s/ref=nb_sb_s...pment&sprefix=android+application+development
Here's a link to some more info to getting started that is also useful:
http://developer.android.com/guide/basics/what-is-android.html
You may also need to get a Java coding book to help you put codes together properly and understand what each coding does, and tweaking them to work better.
Here's the link to Java coding for Android stuff for beginners:
http://www.amazon.com/s/ref=nb_sb_s...x=java+for+dummies&rh=n:283155,k:android+java
I just bought 2 books for Android application development and looking around for a good Java coding for beginners.
mdonova33 said:
Yeah, a good book (english) would be great. Can anyone recommend one?
Click to expand...
Click to collapse
professional android 2 application development by Reto Meier: http://www.wrox.com/WileyCDA/WroxTi...ication-Development.productCd-0470565527.html
Or, the Busy Coder's guide to android development by Mark L Murphy: http://commonsware.com/Android/
Last one is more written in a "let's get dirty" style. Really like that
TheSwaggeR said:
...
I just bought 2 books for Android application development and looking around for a good Java coding for beginners.
Click to expand...
Click to collapse
I think any java book will do, as long as it covers the principles of object oriented design and the data structures used by Java. You don't need any info about GUI programming in Java because that's all covered by the Android application framework.
The best Java books are the ones written by James Gosling et al, the designers of Java. But that may also be over the top for Android application development. Just some basic Java will do to get you started. The algorithms needed for basic apps aren't that complex.
App Inventor is a great tool to develop your android app. It simplifies the development and the editor is very intuitive.
Check out my blog on App Inventor and AppToMarket and a Workshop
http://Amerkashi.Wordpress.com

[Q] !!! What's the Best Book to learn Android Development for beginners!!!

The subject says most of it really. I'm looking for a book that will teach me to develop for the Android market. A book for beginners. The kind of book with lessons, tasks, examples etc..
I'm a complete novice when it comes to Android Development, I've no understanding of the Java programming language at all and only minimal xml knowledge. However I am very good with computers and learn quick, I've got the time the patience and the motivation + (a Samsung Nexus S & a HTC Desire S).
I know it takes time and practise but its something I really want to learn and have plenty of time on my hands at the moment.
I've done webdesign so understand html, css, online shopping carts etc.. not that that's going to help me a lot.
Maybe I'll need a couple of books one for Java and another for Android please provide your thoughts on this.
Any suggestions maybe with links (if allowed) would be greatly appreciated.
Many thanks in advance.
Marc
aka - NexusCrazy
Though I've no links to books which you could buy..
Android applications are written in Java (J2SE, not a pared-down Java Mobile/Micro (Java ME) as found on many low-end phones) using an open-source J2SE implementation based on Apache Harmony along with tons of Android-specific libraries for things like UI and handy third-party libraries for things like HTTP requests and JSON parsing. That Java code is compiled and then transformed into Android-specific files in a format called .dex, and runs on the phone in a highly optimized VM runtime called Dalvik. Luckily, you’ll almost never have to think about any of those pieces in between writing your code and running it on the phone, since the tools take care of them for you.
You’ll want a recent version (3.4 or 3.5) of the Eclipse IDE (Integrated Development Environment) for J2SE, the Android SDK, and the Eclipse ADT plugin to interface with those tools and provide project templates. Be sure to check out Google’s complete installation instructions for details.
Here are some other links to get you started;
http://www.codeproject.com/KB/android/AndroidGuide.aspx
Android Developers website
Have fun programming,
Senax
I just started out and the android developer site is really awesome. I come here for regular roaming looking for answers.
They have a bunch of "real" tutorials that is a step by step building apps like a picture that you touch and it makes a noise, to this pic call app and etc.
I just started my first CS class and we are using "Java: How To Program" 8th. But I have researched these forums looking for the same question.
The most up to date forums that had recommended books:
Beginning Android, Head First and The Dummies Android Book. Although most of the stuff i read said the android site has pretty much everything you need to know and that books will help with getting to know the basics!
What about roms?
im going through a similar phase in my life with wanting to learn about Android and im downloading the ebooks to my rooted nook color now.. What would be the first few steps in just building a rom... im not interested as much in building programs... but i am a flashaholic.
The best book to learn about android development hasnt been published yet. I geuss thats just because you cant publish XDA Forums xD
Hopefully you're a pro by now, but if not, I picked up "Hello Android" today from Amazon, and it has received a lot of positive reviews.
Sent from my HTC ThunderBolt using XDA App
From my perspective I knew nothing about Java/Android, but I had a couple other programming languages under my belt. Just jumping into tutorials really helped me more than any reading material. Also there are a ton of helpful stackoverflow posts related to android, so if you get stuck a quick google search will usually help you out
Tutorials are best
Books help, but i like tutorials because they are direct information with real cases
unusualbob said:
From my perspective I knew nothing about Java/Android, but I had a couple other programming languages under my belt. Just jumping into tutorials really helped me more than any reading material. Also there are a ton of helpful stackoverflow posts related to android, so if you get stuck a quick google search will usually help you out
Click to expand...
Click to collapse
That's the way i took .
I knew C, SystemC, some bash and C++.
Started with the hello world tutorial and then i just dove in with an idea.
API documentation, StackOverflow and Google eventually got me where i wanted to be.
Then just repeat this process often enough with other ideas and will get comfortable with writing android apps.
But the android sdk is vast and i still find something cool and new everyday.
Also try #android-dev on freenode irc.
I took a couple of courses on C++, Java, and one in C. However, I really get lost when I look at how Android apps are developed. Also has anyone tried mobile development tools?

Looking for the source

A couple of weeks ago I bought myself my first android device (a cheap LG GT540), and since then I've been playing a lot with it.
Noticed that android hackers community is quite big and there are lots of tools which can do kind of anything, but sadly I'm kind of disappointed because I'm having some issues in understanding HOW things work: in order to root my device, install custom ROMs, resize partitions and so on, I had to use a few tools that I have no idea of what they're doing.
To me it looks like that in this forums it's much easier to find a GUI that does everything you need, rather than understanding what needs to be done and how to do it. IMHO this is bad for a community of hackers.
In particular I'd like to understand how the following tools work (both for personal knowledge, and because some of these only work on windows, and I'd like to port it on Linux), and if available, I'd love to put my hands on their source code:
SwiftBootloaderBuilder: it's a tool used to resize flash partitions. I'm prone to think that it might just be a frontend for fastboot, but hum, the fastboot binary I own seems to be missing the capability of handling partitions...
KDZ: it's a tool to upgrade the firmware which I had to use in order to install on my device a custom ROM with fastboot enabled. How the heck does it work? This tool forced me to find and use a windows system to hack my GT540...
Android Developers is a great place to get started understanding how Android works. There you will find much of what you need to know to get a BASIC understanding of Android. If you follow the guides and advice you can create a basic apk that does little except teach you. CyanogenMod wiki is also a great place to learn. One thing about Android is that is is very much like Linux built for specific hardware. Many, and I do mean many, of the same principles apply to both systems. Digital signatures, ownership privileges, file permissions, compiling from source, git, gerrit, google code etc, are all things that a developer runs into everyday working with open source software of any kind. Go to every place I mentioned, sign up, and start asking more questions. Learn C++ and JAVA. Join freenode irc and find some friends who will answer questions while you learn. XDA is the least resource for the development community. XDA is the expression of ALL the other resources. I am new to this also, and have done what I suggest, except the programming languages, which I am working on. Use root explorer to look at your device file system. Ask the developers of the tools you mentioned to help you understand them. A LOT goes on behind the scenes, but it takes a little direction and determination. Cheers!

Categories

Resources