Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I want to buy a phone for android development and testing. I know that Galaxy Nexus has good reputation among developers what about new nexus 4?
In Nexus 4 my minimum OS version will be 4.1.2 or 4.2. If I wanted to test previous versions would I need another phone?
If I upgraded nexus 4 to next OS verson (for example android 5.0) I would be able to downgrade it to 4.1. How complicated is to flash ROM on Nexus series?
Overall, using the most recent version of Android for development is the way to go. (E.g.: Pre-honeycomb versions stored raster data of images/bitmaps in native memory, thus the Memory Analyzer Tool, when you searched for memory leaks not showed the actual size of a bitmap leaked, just a few hundreds of bytes.)
On the other hand, vendors are customizing their phones, they have different drivers for example the camera. So testing only on one phone, in some situations might not be enough... I'd advise to have an older phone (with low available memory, pre-honeycomb os), and a newer one...
You should integrate ACRA, or other crash reporter tool, that enables you to track your product out in the wild. Bugsense or similar solutions provide you a nice Web interface, where you can see the different Exceptions that occured in your code for users...
If you don't have access to an actual phone, TestDroid from bitbar.com can provide a solution, as they have a cloud of different android phones (>100) where you can execute your test cases...
As for downgrading, I don't know if that is supported...
But the latest phone you can get. Longevity is better that way. You can test for other phones on the in-built emulators.
Here are some links to help you out:
https://developer.android.com/tools/testing/testing_android.html
https://developer.android.com/tools/testing/index.html
http://www.vogella.com/articles/AndroidTesting/article.html
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 6 years ago.
Improve this question
Im developing an Android app and I would like to test it on a real device so that I'd like to get a phone, on which a different version of Android can be installed, upgraded and downgraded.
Which phone can run most of Android versions? How should I choose it ?
Thank you.
[This answer applies to official Google releases of the Android software, not to alternate distros like Cyanogen.]
There are very few devices that even support more than one or two versions of the Android system. Carriers and OEMs seem reluctant to upgrade devices at all, and when devices do receive major upgrades, they rarely get more than one.
Of course, Android is open source, so you can build whatever version you want, right? Not really. Although the base OS is open source, OEMs have no obligation to release the actual source used to build the kernel and userland for any particular device. With a closed-source device, upgrading is out of the question. The best you can hope for is a downgrade, if you can find the right binaries.
As one commenter noted, Nexus devices are in general a good choice. They are usually supported for at least three OS revisions, and can be upgraded and downgraded easily. With few exceptions, they run 100% open source software.
If you're willing to get your hands dirty, the device that supports the most versions is the Panda board, which for many years was the standard test board for the Android Open Source Project. It was recently replaced by the HiKey board, which is more powerful and less expensive. If you don't mind building a device out of raw components, the combination of a HiKey and a Panda will cost less than a single Nexus device and likely remain valid for years to come.
I recommend you to go with the emulators but if you want a real device you should test on a Nexus device, but even nexus devices can't cover all the platforms
You can find most of the Android official versions here
Also you can find custom ROMs for different phones here
Note
Even if you flash ROMs on some devices, you still might get into different issues on different platforms because Android is customized by each phone manufacturers. For example, the Android that runs on the Nexus devices is the official Google version, but is different than the one that runs on a Samsung, HTC, Sony, etc.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am quite new to this big android world. I am going through my first app so go easy on me.
There are lots of API levels and lots of devices and i think this makes lots of hard stuff on android.
So my questions are :-
which minimum API level should I choose and why ?
Which Virtual Device should I start for - like there are lots of options available ?
Should I check my UI every time when I make changes on all the devices ?
Thanks. any help is appreciated :)
1)
Basically there are two ways here.
Right now (2014/09) you can go for SDK 10+ or SDK 15+. SDK 10 still has about 12% of total active users. As indicated here: https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
Supporting from API 10+ is a pain, it requires using a lot of backports and compatibility libraries. But you're in luck! It's pretty safe to develop on SDK 15+, as you can see from the dashboards that will cover close to 90% of all devices.
2) You can use Genymotion. It's free for small developers and beginners. You can also use the native emulator but it's laggy, if you use Intels HAX and GPU rendering it will be decent. Have a look here.
3) Well yes and no. You should develop for the best device you can get, a Google Nexus is prefered because it gets the newest versions of Android fastest. Then you should probably get the worst device you want to support and test on it. The more devices you test on the better. Also Android Studio has the option to preview layouts on multiple devices.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I've created a handful of simple apps for Android using only emulators, but I'm curious about what the best way would be to go about developing/testing for real devices. I'd like to start as soon as possible and basically spending the least amount of money for devices to test on. My main confusion is with the myriad of different Android "flavors(?)" there are out there (stock(Google), Samsung, HTC, LG, etc.). What is the biggest cause of compatibility issues between all of these devices?
Is the biggest issue the fact that all of those devices have their own versions of Android OS and if you don't test on one, the OS may cause issues? Is it the hardware (different screen sizes/ratios, resolutions, CPUs, RAM, SD Card/no SD Card, etc.)?
I basically want to find the cheapest/simplest testing solution for getting started developing. Should I buy as many different hardware spec devices or should I buy as many different Android OS flavor devices?
I know that both are considerations when testing, but which should I keep in mind for maximum testing for the cheapest price?
in my opinion you must have different device in hardware and android version.
for example i have 3.2 inch device with android 2.3.1 and 800MH CPU for testing app on Poor devices also i have 4 inch device with android 4.1 and 2 core CPU and also i have 8 inch device with android 4.4 and 4 core CPU for testing app on tablet.
i think device brand its not important.
you must focus on the screen size for testing UI and also processing power, ram and heap size.
good luck
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am building Android apps and have an HTC Desire with running 2.1 of Android.
How do I upgrade, or even downgrade, OS on the phone to test the app on real devices as well.
You need to install another (older or newer) firmware. In my opinion that doesn't make much sense though - if you want to re-install a firmware over and over again, that's quite time-consuming, only in order to test your app for different versions.
Better to get an (maybe used - then cheaper) G1 phone with 1.6 on it to do tests with an older Android version. That's what I'm doing to test for older devices.
With the SDK, you can select OS from 1.1 to 2.2.
In many cases, that should be enough.
If you really need real hardware, please consider DevPhone1(Google version HTC Dream) or DevPhone2(Google version HTC Magic).
DevPhone1 supports 1.1 to 1.6 by Google. Other guys support 2.0 to 2.2
DevPhone2 supports 1.5 and 1.6 by Google. Other guys support 2.0 to 2.2.
I am a Software Developer seeking to break into Android, so I am not developing yet. Nevetheless, it would seem to me that you ought to listen to the previous advice given to you. However, as a Developer, it seems as though you should be or should have been using the Android 1.6 compiler on your PC and then running the finished application on your Android 2.1 OS. In other words, you have it the wrong way around! Developers know that if you want backwards compatibility, then one should use the oldest development software possible, otherwise, you can run into a whole world of problems!
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
not much of a programming question, but development related still,
I'm starting Android development and have been at it for just a little over a week. So far so go regarding progress, specially for someone who hadn't touched Java in his life (but have good C#, Objective-C, VB.NET and Fortran experience)
As I'm looking into a testing device I'm undecided on the phone to get. I need it to be unlocked, so I'm looking into Dev Phone 2 or Nexus One. The difference being $120~ish in price.
Anyone having one of those and using it for development? which do you consider is the best choice. Is the extra speed and screen in the Nexus One worth it?
I'm targetting SDK 1.6 but down the road I can see myself playing with 2.1.
Any input is appreciated
Regards
Something I learnt today was not to let a developer work on the faster model of mobile device when most of your users have the slower model. If it's good on the faster one, it's not always good on the slower device. I'd get a retail G1 as they can be flashed to all kinds of Android revisions. Plus they'll be cheap.
If you go for the Nexus 1, your apps will look better but only to Nexus 1 owners, mostly!
From what I've heard all Android devices are going to get a bump to some form of 2.1 in the future. The specific feature set of each particular build would depend on the hardware capabilities of the device. Neil makes a good point about speed and polish but with a device like the G1 (which I have and love) you will yourself to be limited by the hardware whereas with the Nexus One you can choose to limit yourself or you can choose to develop Live Wallpapers!
Also, you've asked 7 questions and haven't accepted any answers. If you keep that up you'll soon find that people are less willing to spend the time answering your questions.
If you want a test device go for the g1. If you want a good android phone for everyday use go for the droid or the nexus one.
For development be careful which carrier you buy the phone from, some of them like AT&T will change them to forbid installation of software from unknown source etc. to enforce the market. Those are pretty useless for a developer then.