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
Related
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 often hear that some applications run on some models or brands, but the same application crashes, or doesn't run at all on some other devices.
I really cannot understand. Isn't android APIs the same on all devices running THE SAME VERSION of android? Have you got any other ideas?
Some device's have different native API implementaions, for example AudioRecord may support only 22050 Hz on some devices even if documentations say that 44100 is supported across all devices.
Your app may crash because of different performance, for example if some device measures layout slower, but you expect layout to be laid-out in the other thread at specific time - you may get crash.
Some devices don't have Geocoder built-in, so it will crash.
Some devices have less memory and can crash with OutOfMemoryError if your app is heavy on memory.
Some devices don't have Google Play Services. If you rely on them without checking, it will crash.
Some devices have no camera / accelerometer / barometer / bluetooth / etc and if you didn't check for the availability before using it, it will crash.
There are a lot more to say, but you will have to look at the crash logs to track the particular issue.
Lots of little things. Not enough memory on some devices. Bugs in the drivers for hardware. Subtle assumptions that the hardware will react in certain ways. Hardware not as capable- for example some touch screens can detect only 2 fingers, some can do 10. And of course they may be using slightly different versions of Android with/without some bug fixes, or with some custom changes. However 99% of the time your app will work, it really isn't that big a deal unless you're pushing the hardware.
Well, yeah, the android version and apis are the same.
but think about different hardware on the phone.
one might have a camera, and one might not.
1 have 256mb of ram, and the other 2g.
same for screen sizes and dpi.
so its not only software problem..
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I want to write android application for android mobile devices.I want use Samsung Galaxy tablet when I debugging code.Because tablet is best choice for debugging because screen size bigger than mobile device.
Some android device and tablets use android 4.1.2 .So when I tested in my tablet that use android 4.1.2 ,This program succesfully work on mobile devices right?
In other side is any difference tablet version 4.1.2 and mobile android version 4.1.2 .As a programmer, which device can I use for debugging tablet or mobile devices .Is there any difference?
Because tablet is best choice for debugging because screen size bigger than mobile device.
A tablet is a mobile device but if you mean a phone then that is just preference.
So when I tested in my tablet that use android 4.1.2 ,This program succesfully work on mobile devices right?
No, it means that your program successfully works on Samsung Galaxy tablet 4.1.2. The hardware manufacturers may have other things that will keep your program from working successfully on other devices. A bluetooth module, for example, may be a little different. I have a program which uses Bluetooth communication to another device. It works fine on Galaxy player 4.0 but not on 4.2
As a programmer, which device can I use for debugging tablet or mobile devices .Is there any difference?
There are differences as I have just explained. The best thing to do is to test on as many devices that you can which could be target devices...this isn't always feasible. I suggest testing at least on a device that uses the same version of Android that you are targeting and one which uses the same minimum version
There's no difference programming fora a phone and for a tablet. You just have to take into account the dimensions. So you should define your dimensions (font sizes) in your res/values folders
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
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
Buying devices to test your apk/ipa/alx on different android/ios/blackberry phones is getting heavy burden on pocket since it turns to be a dead investment very fast as technology is progressing too fast and you can't just keep on buying to know your app's user experience.
Is there any company that provides the services to save our dead investment? I've explored Keynote DeviceAnywhere which is pretty good but the rates are quite high.
I'm waiting for a solution asap.
Thanks.
Definitely.
I am not familiar with Eclipse or the Android simulators/emulators (nor BB or winPhone 7), but in any case you want to test on the real thing.
Even if the behavior is the same (some times it isn't), the performance is completely different between a real device and a simulator.
Android
Definitely YES. Applications run munch faster on devices than on emulator. In the long run , buying devices will save developers time thus save you money. The best devices for developers are Nexus line unaffected by OEM software (think of Samsung Touchwiz , HTC Sense).
Samsung lets you use their real device over the network for a certain period of time.
iOS
YES . The simulator is pretty close to reality. If you're on budget, you may buy second hand :
iphone 4 or wait for the upcoming iphone 5
iPad only if you're
targeting this support.
Add the developer licence extra cost too , to run on a device you must have a licence . iOS developer Standard = 99 USD and more for Enterprise Program = 299 usd
Blackberry
Don't know
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
There seems to be so much coverage in the press about dealing with Android fragmentation issues, but I couldn't find anything concrete from developers on SO. So what were some fragmentation issues you've encountered while developing for Android?
I've been developing for Android 2.1+ devices mostly, and haven't yet encountered any issues.
Varying screen resolutions
Varying display sizes
On board memory sizes differ greatly and go from minuscule (32mb) to "accepted standard" (16-32 gb)
Many different versions "in the wild" with different capabilities
Device manufacturers can create skins for the phone and change basic functionality and colors
Cell phone carriers can further customize the experience and block certain abilities (e.g. installing form "unknown sources")
The seemingly random combination of all of the above
The "fragmentation" issue is that you, as a developer, have to test in many different combinations of devices and configurations to make sure your application runs satisfactorily in all of them. You also have to consider that your application layouts will be displayed in many different resolutions, so the end result might be pretty crappy in a tablet, for example.
In reality my guess is that you give up trying to support everything and try to get as much market as you can with as little extra development as possible.
The latest thing I've run into is that some Motorola phones do not auto orient photos like HTC phones do. So you have read the EXIF data to orient the photos properly, but since I don't have an Moto phone its a little hard to test.
There are also some inconsistencies with the android.provider.MediaStore.ACTION_IMAGE_CAPTURE intent on some phones.
Both of these issues have been discussed on StackOverflow.
For the most part these are not big deals. I like to equate it to CSS browser inconsistence. There are a few issues, but its nothing developers are not used to.
The only real oddity i've experienced is the Secure.ANDROID_ID, which is supposed to be unique, but really isn't. Some vendors and/or custom ROMs dont generate a unique one. And then you just have to create a unique ID for the user.
Multitouch has been officially supported since Android 2.0, but implementations vary tremendously across devices, and frequently do not follow the spec.