[Q] Where to learn the basics? - Motorola Photon 4G

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.

Related

[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] How to make a custom ROM

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.

Thinking about going into developing

Hi guys,
I think I have been an xda user long enough..so I though, why dont I try my hand in developing and be more of a giver than a taker in this great community.
Problem is, I dont know where to start. So if you dev guys could give me an effective learning path(study this first, then this, then this)..I would be most greatful!
Im not a developer by training(an accountant, of all things!!), however, I did get into IT audit so I know a little bit about the different flavors of unix..and I love coding(we use some scripting software in the trade, i know i know, its different) and i am never happier than trying to figure out how to make things work using code..
I know some of you may laugh at me, but I really am interested in this.
Thanks!
There's a great site here with lots of useful info
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Yep!! Sleepless nights! Just like a real dev..hehehe... I do know some languages like vb..python..javascript..but that was just me muckin around..nothin serious also..already had the netbeans ide setup...and got my java hello world cherry popped..hahaha..so lame
Sent from my GT-I9100 using XDA App
DreadPirateDan said:
There's a great site here with lots of useful info
Click to expand...
Click to collapse
Thanks man!!! Looks good!
Sent from my GT-I9100 using XDA App
saunderez said:
If your endgame is to develop for Android it might be best for you to jump in the deep end and start learning Java immediately. Don't worry about learning it by developing Android applications, just focus on developing on PC and you will have a much easier time. Once you've picked up the basics of Object Orientated programming then it's time to take a look at the Android APIs and go through some tutorials so you can see how the apps come together.
At the end of the day it's going to be a big job for you because you have very little experience. Unfortunately theres no real easy way out so you just have to put in the hours.
Click to expand...
Click to collapse
Yes..that is my endgame..but i was hoping you guys could point me to some android specific stuff..like how kernerls work..etc..basically i want to know the environment first...using google doesnt really yield in depth stuff
Sent from my GT-I9100 using XDA App
Android is basically Linux with a custom UI.
If you want to know how kernels work (and you really shouldn't(!) if your goal is to make apps, as that's REALLY in-depth lowlevel stuff) just check out how Linux works - there's a million million articles on the net about the internals of Linux.
Android specific app development stuff, incl. tutorials and samples are here:
http://developer.android.com/guide/index.html
Maybe you just wanna setup the SDK and try to get the "Hello World" working, continue from there.
SDK: http://developer.android.com/sdk/index.html

Best way to get started in app development

So I came into this with previous programing knowledge, but not knowing java. I've read a book on java, then the programing android book.
So from those of you that actually write apps for the android platform, what do you think is the next step? Just get to it already? Start using eclipse and its built in tools to get started and learn by doing and googling as I go along?
Is that the way most of you have got your start? Any other books I should pick up?
Thanks
Sent from my SCH-I500 using Tapatalk
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums & Read the Forum Rules
Moving to Q&A
I am getting started too, am beginner / intermediate java programmer with little experience. The android site has some nice resources.
Developer.android.com ... Resources tab: look at the tutorials. The Hello World is a nice intro. You will install the Android SDK, eclipse, write a simple app, and seeit in action using the emulator. I have done Hello World and Hello Views.
I'd also appreciate any advice / guidance from more experienced droid devs!
Sent from my Transformer Prime TF201 using xda premium
I've done that stuff so far. I've also played with the layout manager to.o. I th.ink I might start out making a sound board app. That seems pretty simple to do.
I'm just looking for some advice as the best way to precede
You're on the right way. The next step as a developer is just to develop software. Thats it.
You can look at some books and resources on the Internet to learn basics.
But I think the best thing to do is to imagine a mini-app (very simple, for example a calculator), and try to make it from scratch.
You'll learn how to search information and this will be less boring.
You can also create new projects from samples of the SDK, they are quite interesting.
Write code! Seriously. Screw the books (or you can waste money like me). I am sure that if you start building something like I have coming from a similar background, you will know what books to pick up when its time.
If you are a coder, just make up a project and learn Android in the trenches by figuring it all out as you go. That said, it would be invaluable to read up on the platform itself (the Android dev site is great) as programming for it is a bit different than what a lot of us are use to.
It's fun after you figure out the build environment on your platform. Also, if you are like me you live and die by text editors. That said, I have learned to finally embrace both Eclipse and Java thanks to Android.
EDIT:
I am now getting a lot of mileage out of Creating Android Applications by Chris Haseman. This is only after wasting money on books I wont read or that teach me to do things the wrong way. I was only able to make an informed decision after hacking together my first serious app. This book is packed with nuggets of insight from a and immediately answers questions I have from my experience with the ocassionally sparse documentation. I would highly recommend this book and because of it my future code is going to be very solid without the "did I do the right" feeling. <-- typed on g2x in Browser
Your right, I think I have enough background to dive in. I was playing around and created an app that plays mp3's when you click on buttons, didn't take long at all. Next thing I want to do is create a splash screen, and I took a quick look to see how to create buttons that are a picture and text, similar to the buttons in the google api sample.
Having fun with it so far.
Sent from my SCH-I500 using Tapatalk

A Good Start Source To Begin Learning To

Develop app's?
Okay the run down on me and my knowledge, only thing I really know and ever learned was possibly advanced html, but it's gotten me pretty far in my ways.
The way I learned was by sourcing pages and piecing together different sections of codes going through trial, error and asking for help when running into a dead end.
Is there a similar way I could learn the basics of javascript for app development by sourcing some apk's, or what and how would be a good way to start for me really? I really don't want or see a point in taking a full course in javascript (Or flash) just to pickup and start learning the basics of developing app's, I'd much rather progress as I go on continuing to develop and keep evolving each time, rather than learn this first, then learn that then finally once pretty much mastered those start developing app's.
We all have different learning methods.
I've got a few app's I'd love to work on and develop out of boredom and knowing nobody else would develop them so why not me and give it a shot. 2 social site app's and 1 exercising app, really not an app for exercising but more of a idea brought into those types of recording app's.

Categories

Resources