Will I be able to test my Open GL ES 2.0 application on Android Emulator? Or I will have to use Android 2.2 device to test it? What devices are best to test applications on it? I know that official Dev Phones are Nexus One and ADP 2 (as you can see on this website http://developer.android.com/index.html) but Im asking about your experience with other devices too.
You have to test those applications only on real devices. Emulator doesn't support OGL ES 2.0. You can also use remote testing devices (look at Motodev Studio, there is some of support for this).
There is no noticeable differences between dev phone and "standard" phone, if you are application developer.
It's hard to tell what's the best choice, cause there are so many devices now, and they just keep coming. Also you might think about testing your app on a tablet, if you consider designing for tablets, so here's a another problem of choice. Phones and tablets are very different in terms of performance, so you won't choose an ideal phone for testing. Testing on the emulator is also a waste of time with an OpenGL application, especially if it's dynamic, cause emulator will give you a very low FPS rate and very slow responsiveness.
Related
I am about to port my application on android. Since I am new to this system I would like to ask for tips on android phones for testing my app. The number of phones is pretty huge so it is pretty hard to choose the right one. Also I wasn't able to find some kind of official chart of system distribution.
I know that it really depends on hardware and how much my app demands from hardware. It is pretty basic app and I am able to run this app at 30fps on iPhone 4S.
I did some research and people are talking about the latest phones but I think that it is not necessary to buy the newest one. Also, is there option to buy for example tablet and emulate android devices on this tablet?
So my goal is to focus on devices people have the most.
Thank you for any advice.
You can run many of your tests on the Android emulator. Using it together
with the DDMS will allow you to simulate several real life situations
(arriving call, arriving sms, change position...)
You can use BlueStacks which is an emulator put on steroids.
TestFairy and UTest are awsome communities for crowd testing were you can test ~any device you can think of.
Still, it is a good idea, especially if you plan your run at Android to be long,
to maintain a small stash of real devices.
Which devices should you buy? Which OS version should they run?
The Android dashboard is the official source for answering some of these questions. It gives an
up to date statistics of worldwide distribution by OS version, svreen size/density and more:
OS Distribution
Screen type Distribution
So, true to July 2014 you would want devices running Jelly Bean, Gingerbread & ICS and you screens of types normal/hdpi, normal/xxhdpi and normal/xhdpi. This list can grow but even this will provide you with a good sample of the Android device ecosystem.
As for manufacturers, the picture is clear: Samsung is the winner. Exact number &
distributions are harder to find here, but a Google search might help.
If my memory serves me write some 65% of all Android devices are Samsungs made with
Galaxy S3 taking 15% (of ENTIRE Android market) and Galaxy S4 = 10%.
Device screen features:
Galaxy S2 is normal/hdpi
Galaxy S3 is normal/xhdpi
Galaxy S4/S5 is normal/xxhdpi
These will probably be your best bet. You will do smartly to install on them 2-3 different OS versions, at
minimum Jelly Bean and ICS.
The Android Development Tools in Eclipse and Android Studio both have emulators that can be used to emulate different devices, including tablets and phones. You don't need to buy anything to be able to test your app on an emulator. The emulators run on your computer.
For more information
As for what devices most people have, while I don't have official statistics, looking at my own applications' downloads, most people are using either a Nexus 4 or Nexus 5.
I am an experienced Apple developer who is looking to develop for Android. I do not currently own any Android devices, so I am considering purchasing a B&N Nook HD for development purposes, which now runs Android. From the research I've done, it seems that the spectrum of Android devices is quite varied and disorganized compared to the Apple world (no offense intended). So, my question is, even though there are better (more expensive, too) devices to purchase (Nexus tablets), will a Nook HD suffice for beginning Android development? By the way, my intentions are to develop mostly tablet utilities with emphasis on networking and data manipulation. I'm not really interested in hardware-specific areas like graphics and sensory input (with the exception of the touchscreen, of course). Thank you for your advice.
In a general sense, yes. Your device will do just fine. However, a caveat is that you must take into consideration the flavor of android you are planning to target. e.g. Working on a Froyo flavor won't necessary guarantee it will run on the latest Jellybean and so on.
Hell, I started developing android almost 2 years ago (but stopped indefinitely) but it was only this year that I took it upon myself to get a PHYSICAL android device when I continued to develop my app. For no particular reason I just dropped by the local gadget mall and randomly picked the Samsung Tab 3. Yes, reviews are bad and it kernel panics a lot but these are trivial things for my specific use.
The one major problem I had? Dealing with REAL input from REAL data on a REAL device. My app worked sufficiently fine on the emulator. When it ran on the Tab it was breaking everywhere!
This is related to question Android Emulator vs Real Device
What is the current state of art of Android emulators and what are the differences that developers should be aware of. I'm working on an app that uses bluetooth and thinking of adding a feature related to phone calling. Since I can't afford to test on all real devices so what should be the guidelines for developer to test such apps on emulators ?
Genymotion rocks. According to the blog post of Cyril Mottier it is even much better then the hardware devices.
http://www.cyrilmottier.com/2013/06/27/a-productive-android-development-environment/
I test basically everything on several real devices. The only thing I use an emulator for is making sure layouts look good on the configurations I don't have available(I don't have a 7" tablet, for instance). This is only after just about everything else is done.
Functionality is going to be nearly the same on any real device, and the emulator is no guarantee, since it doesn't seem to act like any real device in some cases(openGL, for instance).
Testing usability on a desktop with a mouse just doesn't make sense, unless you're writing something that going to be using that input method. There's a big difference between swiping with a finger and click-dragging with a mouse.
Even if you have the fastest emulator/virtualizer in the world, how can it be any faster than just picking up the phone next to you?
I am beginning Android app development and I would like to know which device would give me the most comprehensive testing environment. I would like my app to be compatible with the most number of devices without breaking the bank by buying a dozen devices. Just testing on the emulator is not an option because it runs at 1/10th of normal speed.
OS Version
Should I purchase a device with the most common OS? As of now, 2.2 is the most popular. Obviously, a 2.2 device wouldn't be able to test run an app made for 3.0. But is the reverse also true? If I buy a 3.0 device, would that allow me to test all lower versions?
Tablet or Phone
Given that my app won't be dealing with phone calls, should I be buying a phone or tablet? Are the two sufficiently the same except for resolution? Has your app ever worked on a tablet but failed on a phone? The Apple iPad has a neat emulation mode for iPhone apps. Is this feature also available on Android tablets?
Price is also a big consideration when choosing a tablet over a phone. I'm not going to sign up for another cellular plan, so most phones would have me fork over $500+. That would come out to be the same price as the Motorola Xoom. But arguably Android phones are much more popular than tablets, so a Xoom wouldn't let me see what most of my users would be seeing.
In general it's up to you, I suggest you Google Nexus S, because of NFC module in that phone (only that phone nowadays as I good know have NFC), besides that it has everything you need. Big plus for screen.
Android 3.0 is made generally for tablets but of course you can write application in 3.0 and run it on 2.2 or 2.3 just look for backward compatibility, and use reflection.
Also good to know that it does not depend of your phone which version you have it's up to SDK ver which you choose during creating project, in general you can set 7 as min SDK and test it on phone with 9.
If you are creating applications which requires a lot of custom drawing/animating such a game, then a slew of devices would be ideal to test against resolutions, DPI, RAM, CPU power, etc.
If you are using more of the native components then you do not have to worry as much about the different screen types and sizes as these tend to scale very well.
This question was brought up at GDC's Android Developer Day, you may be able to find the video online. Basically, it boiled down to trying to get one of each kind of device, low end, mid, high. It was also recommended that you built for the newest SDK, then start building against older ones, fixing, testing, rebuilding.
Therefore, I would personally recommend the Nexus S.
The company I work for does Android development on the original G1, HTC Hero, Samsung Epic 4G, and HTC Incredible.
I would like to start doing some Android development, and would like a cheap device to deploy apps to, just for testing and demo purposes. Is it possible to deploy apps to, for instance, an Archos 28? I don't know much about Android development yet, and haven't found a good answer to this question elsewhere. Thanks.
I can recommend the A28 for development. The user experience is rather crashy, part of the problem lies in the low RAM (128Mb is very little for an Android device). But I developed JGame on an A28 and did not run into firmware bugs. It also runs Flash 10.x in case you want to experiment with that.
I second that you should in particular worried about devices with a larger display. I found that graphical performance can be much worse on those devices. The A28 has a pretty good GPU considering it has several times fewer pixels than the average Android device.
Yes, it is running android 2.2 froyo. That should work fine for development purposes. Just keep in mind that some people will be using your app on cell phones that may be "larger" than the archos' screen size.