Hey everyone,
I just bought a G1 and so far I love it! What OS (Linux, or XP) would you recommend getting started on with developing for Android? Developing would include creating my own programs and customizing the G1 OS.
Thanks
OS really doesn't matter. Eclipse looks more or less the same in XP and Linux.
As a software developer, linux is always preferred. Though eclipse itself is very similar, there are some oddities under msevil (which slip my mind at the moment, however, they were just annoyances and not real problems). If you're working STRICTLY in eclipse, it may not matter too much, but 1) don't trust msevil not to screw things up or randomly corrupt your data - it does things like that, 2) msevil makes simple things into a nightmare by lacking all the standard unix console tools.
Related
Hi there,
it seems to me most people here develop for WinMo devices, but maybe you can help me out nonetheless.
Currently, I'm a web developer in PHP (+ usual stuff). I studied computer science, so I'm not a newbie when it comes to coding I learned a lot of C and (unfortunately only) basics in Java and C++. I never got my hands on C# or VB and stuff - the only experience in developing applications for Windows Mobile was a small Texas Hold'em Clock (basically a simple countdown and some additional stuff) I did a few months back. I pretty much google'd everything I needed and copy'n pasted the code into Visual Studio - not really developing, but those where my first steps
I consider getting started in development for mobile devices like BlackBerry, Windows Mobile devices, iPhone, Symbian and/or Android. The problem is: I don't know which one of these might turn out useful on when I might be applying for a job later (which is basically my whole point doing this, I don't want to do web development for the rest of my life). Any thoughts?
What type of job do you want to do? first find out what the sort of jobs you want to do require, many software houses use c# so you could develop for windows mobile, if they require java then try android. Iphone uses objective c which isn't used outside of the mac world so unless you want to work for a company which creates mac programs maybe you should try something else.
Then again if you just want to make some cool apps and actually make money from them I would say iphone is the easiest to get you product to market then android with wm coming last.
also if you learn java then you can quickly pick up c# and vice versa so I don't think it really matters either way.
there are of course many other options, if you happen to want a job that requires python you could get the excellent upcoming n900 from nokia
Cant offer advise on that, but what you can do is write a better app for Facebook, the MS one SUCKS compared to the iphones (eeek i said the dirty word............)
ms's also sucks compared to the x1 panel facebook which again is not as good as iphones :S
Hey there folks,
after reading these forums for quite a while and having several smartphones during the last years, I reached the point where I want to start creating my own apps. I tried to google around a bit and found some interesting tutorials on how to start creating apps. I also found several SDKs for different operating systems. But exactly that is the point leading to my question.
Before starting to code: is it possible to choose a platform from where my app can be delivered to each winmo, iphone, blackberry or android?
Or is that just plain impossible? I mean, those are all touch based devices Should'nt be that much of a difference? Originally I wanted to start developing an iphone app, but that would leave out all the android users and so on. I don't want to rewirte everything from scratch for an android device after having finished the iphone variant. And that did not even consider the advent of windows 7.
So, is there any way of coding for all the operating systems, keeping the effort of switching between operating systems low?
greetings and thanks in advance for your help,
your unexperienced coder-in-spe,
joker
While all four of the devices mentioned all use ARM processors of various flavours to do the work, they are four completely different operating systems, each with their own IDE and programming models.
Even considering Windows Mobile, you have to decide whether you are programming for a SmartPhone/Classic or a Pocket PC/Professional device. In this case it is possible to write code that will run on both WM platforms, but you will have to make that decision at design time, before you even think of writing a single line of code. Your application will then have to act accordingly, depending on the machine on which it runs.
java apps for symbian often works ok on wm using a midlet manager
not sure about android and blackbarry but being java not too much code would be required to port it I suppose
mind you java on wm work pretty poorly
and iphone got rules that you can only make apps using objective-C/c/c++ and their SDK
which is only available if you own a mac computer
Thank you for your answers. Looks like starting to code is not that simple as expected. So I will try developing for iPhone only :/
So in this thread it tells you how to install pc operating systems like windows and linux on the Evo 3D.
http://forum.xda-developers.com/showthread.php?t=1459153
This, is freaking awesome. This one is a big breakthrough.
----
Here is the thread in the Nook Color forums for ubuntu on the device:
http://forum.xda-developers.com/showthread.php?t=1055954
----
These two threads are native installs, not using some client to access the installation, the device itself is the client as it should be.
This is not some chrooted virtual OS simulation, but the real deal installed to the device.
----
In the back of my mind i've wanted to play with ubuntu installed on the MT4GS, but not a virtual installation I want it installed and running on the device natively.
I definitely don't have the time to do this and a lot i'm trying to do around here even if I wasn't in my busy season for work.
Dropping this information so I can find it later when I do get to trying to get ubuntu (and now windows XP looks like a possibility) installed on this device.
If anyone else feels like looking into this, here's a good place to start. If anyone comes across any other projects that are the real deal and not virtual installs please post links here.
Have fun!
Blue6IX said:
So in this thread it tells you how to install pc operating systems like windows and linux on the Evo 3D.
http://forum.xda-developers.com/showthread.php?t=1459153
This, is freaking awesome. This one is a big breakthrough.
----
Here is the thread in the Nook Color forums for ubuntu on the device:
http://forum.xda-developers.com/showthread.php?t=1055954
----
These two threads are native installs, not using some client to access the installation, the device itself is the client as it should be.
This is not some chrooted virtual OS simulation, but the real deal installed to the device.
----
In the back of my mind i've wanted to play with ubuntu installed on the MT4GS, but not a virtual installation I want it installed and running on the device natively.
I definitely don't have the time to do this and a lot i'm trying to do around here even if I wasn't in my busy season for work.
Dropping this information so I can find it later when I do get to trying to get ubuntu (and now windows XP looks like a possibility) installed on this device.
If anyone else feels like looking into this, here's a good place to start. If anyone comes across any other projects that are the real deal and not virtual installs please post links here.
Have fun!
Click to expand...
Click to collapse
Regardless of what impression you may have, it is ABSOLUTELY IMPOSSIBLE to run MSWin on ARM hardware natively. The reason for this is that MSWin is x86 and ARM is... ARM. The approach used in the first link is to use BOCHS (pronounced "Box"), which is a VIRTUAL HARDWARE EMULATOR. It requires a host operating system to be functioning in the background, in this case Linux.
As for Ubuntu... well sure. No problem. Its Linux and the phone runs Linux. Not that big of a stretch to replace the Android parts with GNU.
Note that NONE of this is any kind of "great breakthrough". Bochs has been around for a VERY long time. First OPEN SOURCED in early 2000. Yeah, 12 years ago. As for Ubuntu... well I suppose that the main reason that most people aren't making a native android replacement out of ubuntu, is that not many people are all that interested in it. Cute in theory, but not practical.
What would be a more worthy project would be to upgrade android to GNU libraries and utilities. This would afford us an actually USEFUL balance between the two. Also the ability to run X *through* android without having to do stupid things like VNC. Have the proper interface ***AS AN ANDROID APPLICATION***, leaving Android to work (i.e., phone calls, etc.) while simultaneously offering the standard Linux applications.
My thought though, is that this is becoming less and less important. Firefox is on Android now, the Document foundation has announced LibreOffice for Android -- supposed to be by late 2012 to early 2013... GIMP has no place on Android... That certainly covers the basics.
Appreciate the post. I didn't have time to dig into it too deeply, so took it at face value for the impression I got. Happened to come across it in passing and didn't want to lose track of something vital to the future dev of a project like this on the doubleshot. (but definitely this doesn't belong in the dev section at this time - just clutter there.)
I was hoping people would add to it, especially the way you have, who had more of an understanding of what's going on there - I didn't realize that it was a virtual environment for the windows stuff, but it did seem to good to be true.
Even if no one responded I figured the thread would get pushed down out of the way, but still be here when I got the time to come back to it.
----
My reason for running native linux on the device itself is to be able to use the Android SDK and tools without needing a computer to do so. I have 2 of these phones and a Nook Color. The NC has USB host support, so I could plug the doubleshot into it without frying either device. (yes, i'm blending android and linux concepts here - but usb host support in android shows that it's capable of doing it)
Even from one doubleshot to the other I could use wifi adb for a lot of stuff without plugging them into each other through USB and frying the phones. So that would be a victory as well.
The lack of a hardware charging circuit in the doubleshot makes the worry of frying the phones a big deal, power transfer through USB is a big hurdle to jump in management.
Beyond that - the doubleshot is powerful enough on hardware specs to be able to compile a kernel, but that's not gonna happen through a virtual linux install because the overhead is too much. A native install might just be able to do it though. Won't know until I try, but it's worth the work to get to the point of trying, even if it doesn't work out.
The Nook Color probably won't be able to compile a kernel - it's asking too much from a device not really able to handle that.
Getting what I mentioned above to work would mean I could do all my dev work with what fits in my pocket, and let me keep working wherever I am.
I do like the idea of an app to work with this through Android itself - but I don't see how I could use the SDk and variety of user-created tools without a native linux install. Worth pursuing either way though.
If anyone has anything to add, i'd be welcome to hear it. Just understand this is not a project i'm working on or actively pursuing right now - but fully intend to down the line.
Actually blue. There is a thread somewhere that has a step by step on installing ubuntu on gingerbread. I meant to add it when I added the backtrack link. For some reason I didn't, I probably forgot, I actually think the link for it is in the backtrack thread in the sticky.
If I do find it ill let you know.
Sent from my ICS Splashed using Tapatalk
Experts, Developers, Fellow Gentlemen (& perhaps, some Lassey?),
PURPOSE:
To request, collect, organize, and clearly present 3 types of information related to BOTH android application development (for sale on the market) and ROM cooking (using scripts, kitchens, etc.).
INFO REQUESTED:
(1) Compare the relative the PROs and CONs of Android Dev. using:
Windows with Cygwin and Eclipse
Windows with a Linux VM (Eclipse installed on the VM)
Mac with Eclipse
Mac with a Linux VM (Eclipse installed on the VM)
Linux on bare metal (using Eclipse, of course, or the NDK)
(2) If you have used two or more of the above for Android Dev., please describe your experiences and insights, the primary differences, similarities, tips and pitfalls, etc.
(3) Given a fairly large budget to buy your own laptop for use in Android application development and ROM cooking, please RANK the above 5 choices in order from your 1st (best and most desirable) choice to your 5th (last and least desirable) configuration.
Best Regards,
Paul
Honestly your best bet if you want to do android ROM development, and not developing apks, then your best bet is to dual boot your laptop with widows and ubuntu. I thouhgt that you were wanting to develop apks, since you mentioned the SDK and eclipse, that is really more for app development, rather than ROMS and android open source it self.
The reason for ubuntu is that all the of utilities all work with ubuntu, they can work with other distros, but ubuntu seems to be the one most flock to.
The reason not to use a VM is because it can have issues connecting to the USB connection with your phone attached.
Mac will work, if you really want to go down that path, but it is more cumbersome to get things to work "well" as BSD is the underlying kernel, but you have to install an Xwindows environment to use most of the Android utilities, and that can be a pain to get working for someone not really experienced with linux AND OS X.
Windows with cygwin is a possibility, but again, more of a pain that just dual booting ubuntu.
+1 for dualboot
I'm definitely not a developer but I do know PC's. Jim's right you won't get any odd b.s. if you partition and install Ubuntu.
For the small amount of rom tweaking/developing I have done I use windows with cygwin. With baksmali and smali for decompiling dex files.
Sent from my MB865 using xda premium
Me too. I get by with Windows7 and Cygwin...
I know that I will eventually have to at least set up dual-boot with Ubuntu if I want to get involved in "real" development (even that would freak out my wife though - having options at boot on our shared family computer... gonna need a separate dev machine I guess)
Sent from my mind using XDA
I have worked through both windows and linux (ubuntu mostly), and I can give you some info about macs too, but I don't have actual experience there.
Windows
Pros:
More software for things other than android development, so if you want just one OS it may be the way to go.
If you are familiar with it already, it will make your life easier as you won't have to learn about a new OS.
Not much more really.
Cons:
most developers use linux, so you will be a bit alone i the android dev world meaning possible less support.
Not as well supported officially or not.
Overall:
Windows will probably be just fine for app development, as the sdk and eclipse both run fine.
You will have trouble with rom development. Android is based on the linux kernel, so it does not play well with windows.
You can use Cygwin, but you will have mixed results. It is not perfect. Some things just won't work unless you have linux, and quite honestly it is probably easier to get ubuntu working right.
Ubuntu
Pros:
It's FREE!!!!!
most official support
It's what most devs use, so unofficial support is good
Most utilities are built for it.
Cons:
Can be tough to learn if you are used to windows
not as many apps for other things, but that is getting better.
Over all:
By far the best for development. you are just gonna be better off in general. your best bet is to dual boot, which is really easy, and you can always use windows when you want. A virtual machine is an option, but you will have issues with certain things, like usb support. A VM will also require more cpu power to do everything so it is not a good idea on low power machines.
Hardware
Linux is much lighter than windows, so a low power computer will be better off with it.
You should be fine with anything that is not total crap for app development. Basic rom development should be fine in the mid to low end. If you are getting into more serious stuff like building up android source you will want some serious power. I have 4GB or ram and an intel i3 processor (2.13 gHZ dual core 4 thread) and that barely cuts it. compiling cm7 takes a couple hours and it runs at 100% cpu usage the whole time and gets hotter than hell.
You will need a pretty big hard drive for some stuff. The AOSP source is huge. all my android stuff takes about 28GB.
Over all
your best bet is to dual boot windows and Ubuntu Linux on at least a decent PC. you will be happier with something with a slightly higher end CPU.
I use 64-bit Ubuntu, it's just so much better and everything just runs natively! I mean some of those kitchens and tools are only for windows, but it doesn't really bother me because I dont use them
If you want to learn to write code, get ubuntu and jump head first into it.
Hey Guys (and Gals),
I've been in the tech scene for a while, rooting and unlocking android/softmodding psps and xboxs for fun. However recently I wanted to contribute to the scene, and I'm kind of in a dilemma. I want to make a few apps, nothing crazy ambitious just learn how to. Though I'm not sure what platform to do it on. I am kind of torn about doing it on Android or doing it on the Windows marketplace. I want the simplest setup, (i have 2 windows 7 computers, and a htc rezound and toshiba thrive and tf300). I took a college course on C++ but it didn't even touch on guis or go that far in depth. So basically I am starting from scratch either way.
I like android and have a few pieces from them, but I feel as windows is just getting a start it would be a good chance to start also. Furthermore what language is best for each platform? I have heard java for android, but heard a c type program is overtaking, and html and javascript for windows. Any input is greatly appreciated
adamsaur said:
Hey Guys (and Gals),
I've been in the tech scene for a while, rooting and unlocking android/softmodding psps and xboxs for fun. However recently I wanted to contribute to the scene, and I'm kind of in a dilemma. I want to make a few apps, nothing crazy ambitious just learn how to. Though I'm not sure what platform to do it on. I am kind of torn about doing it on Android or doing it on the Windows marketplace. I want the simplest setup, (i have 2 windows 7 computers, and a htc rezound and toshiba thrive and tf300). I took a college course on C++ but it didn't even touch on guis or go that far in depth. So basically I am starting from scratch either way.
I like android and have a few pieces from them, but I feel as windows is just getting a start it would be a good chance to start also. Furthermore what language is best for each platform? I have heard java for android, but heard a c type program is overtaking, and html and javascript for windows. Any input is greatly appreciated
Click to expand...
Click to collapse
Woo! Somewhere I can be helpful.
I'd recommend researching a few game engines / frameworks. For example, check out Marmalade SDK (google madewithmarmalade), it's a cross-platform game engine that will abstract your game from the hardware it's running on.
I'd also suggest sticking with c/c++, it's probably the most versatile, and you'll be able to use it with Android, and iOS (and I believe the new Windows 8 mobile platform).
Hope that helps!
Jamie W said:
Woo! Somewhere I can be helpful.
I'd recommend researching a few game engines / frameworks. For example, check out Marmalade SDK (google madewithmarmalade), it's a cross-platform game engine that will abstract your game from the hardware it's running on.
I'd also suggest sticking with c/c++, it's probably the most versatile, and you'll be able to use it with Android, and iOS (and I believe the new Windows 8 mobile platform).
Hope that helps!
Click to expand...
Click to collapse
thanks, ill definitely look that up, any suggestions for tutorials on using c++ with android/windows?