A week ago,I developed a app and published to google play.
App Link
This app use camera and activity-alias . It works fine in my phones(S1,S2,New One,Sony Xperia v). But after i published to google play , i found many problems,like HTC one x camera or HTC butterfly activity-alias not working in my app . I dont have these phones ,so its hard to debug .
Is there a good way to solve this situation ? I used some test websites like appThwack and Keynote. But it only response me error message, I am hard to debug too,because it need to upload apk to test(spend long time).
I have found that with Android getting feedback from users on their specific device in inevitable, and unless you have those devices to test on beforehand you won't know until someone tells you.
Android is on so many devices with so many different screen sizes and hardware manufacturers it can be very difficult to get it working correctly 100% across the board. Knowing what devices have the issue helps point in the right direction, but nothing beats testing on the actual device.
Try to use Android Studio. You can preview your app for all screen resolution in one shot. For specific screen relotions and density, create an AVD. I think for independent developers, this is the best way (Considering your app runs on Emulator :-))
Related
i am developing an application for android 4.0. that app in emulator is looking in good size but when we check that application in real device, all images in apps are being very small in size. what should i do? please help me.
If I am following you correctly you are under the illusion that the emulator will mimic a device exactly? And that because your design looks good on the emulator it will translate exactly over to the device?
If that assumption is correct then you need to be aware that the emulator is never going to give you that kind of accuracy. From my own experience the emulator will help as a guide but it cannot and should not really be used as a like for like match against a set or specific device. This all comes down to the fact that different phone manufacturers use different chipsets and render their screens differently to each other. The best thing you can do is to effectively follow the guidelines here http://developer.android.com/guide/practices/screens_support.html to provide a layout that closely resembles what you want.
I am developing an app in Android that I hope to release. I've got most of my GUI done, but it does not look even close to correct on the device when installed and opened. I have a screenshot of how it looks, and a screengrab of how it should look (taken from the Emulator in Eclipse) at the links at the bottom of this post. It's best to take a look at the two images rather than me try to describe how screwed up the app becomes on my device.
I had a friend with the exact same device, including hardware and Android version, and his loads up just fine. Does anyone have any idea what's going on here? Both devices are Galaxy Nexuses, running Android 4.0.2, GSM on AT&T (unlocked).
Installed on my device: http://i.stack.imgur.com/x66Jo.png
In the emulator: http://i.stack.imgur.com/qE0J6.png
I've seen this occur in some Galaxy Nexus' and I put it down to a bug/glitch in the OS on that Galaxy Nexus. Try a Factory Reset of your Galaxy Nexus, if that fails, try reinstalling the current OS version you have (if you can get your hands on it), if that fails, get it fixed under warranty.
Does your app use multiple activities?
Can you compare on your two devices if this setting is the same?
Settings > Developer Options > Don't keep activities checkbox.
I realise this is an old question now but I was having the same problem as you and stumbled across a solution. I didn't particularly want to factory reset my phone as per straya's instructions, so I started playing around options in the Settings > Developer Options menu.
As it turns out, this problem occurs for some applications if you have the Force GPU rendering option checked. Disable this (I'm not sure why it was enabled anyway) and everything displays as it should.
Developed a application of size 40MB. I need to test it for all screen support but the android emulator really a bad choice(I feel... ). It gives Insufficient memory error almost every time). How developer test their application?
One more Question
I have designed app for four different layout(normal,small,large and xlarge). Will every device(In future) satisfy these layout params?
And i faced a real problem that i tested my app in Sony xperia minpro(Small screen 240*320 2.4inch) and in Samsung galaxy 5(smallscreen 240*320, 2.8inch) but the layout is overlapping in samsung device. This can be a serious problem , actually we cant check our app in every device.. that is impossible too.
TIA
40MB is way too big for an Android application. Many users will have problems installing the app on their devices. You should consider moving some resources out of the application and downloading them either on demand or on first app run.
The list of layout types (normal, small, large, xlarge) is definitely not final, for there quite possibly will be even larger screens (xxlarge) or tiny ones (xsmall?).
Developed a application of size 40MB. I need to test it for all screen
support but the android emulator really a bad choice(I feel... ). It
gives Insufficient memory error almost every time). How developer test
their application?
You can configure the emulator with any amount of memory you wish, including an emulated SD card so memory shouldn't be a problem. However, 40MB is quite big so you may be hitting the package size limit.
One more Question I have designed app for four different
layout(normal,small,large and xlarge). Will every device(In future)
satisfy these layout params?
You're asking us to predict the future - there's no way we can know what Google are planning if they haven't already announced it though I would suggest that there will never be a commitment to keep screen sizes or resolutions static - technology constantly evolves and specs that are OK for today, will not be OK for tomorrow.
I have seen dictionaries weighing in at 40Mb, best practise is to download the database as a separate file. Some graphically intensive games approach that size. If you want to emulate many Android devices make sure your PC is up to snuff and you have the latest SDK.
How developer test their application?
You do not have so many choices: you have to use as many (and different) physical devices as you can, from different vendors and technical specifications (screen, etc), to try to detect as many specific bugs as possible.
This is difficult, as you are often limiten to a few physical devices.
To give you examples, I recently struggled with the Camera, for a bug happening with Motorola Defy only. I am currently struggling with the Camera, but only for Samsung Galaxy this time.
When you find a specific bug, try to fix it "the general way": instead of detecting the vendor/version of the device to write specific code for it, try to enhance your code in a way it will work for all tested phones. So far, I never had to write anything specific to a given device. The bugs I encountered were always tied to a permissivities or particular cases that could be handled by making the common code more complete or resiliant. Let's say by "making as less assumptions as possible" knowing that we tend to make assumptions without meaning it.
On top of testing on as many physical devices as possible, create emulators. You can parameter them to have different screen layouts, different embedded hardware, memory, etc. And on top of the default emulator that comes with the Android distribution, you also have emulators provided by the devices vendors and that reproduce the specificity of these devices. For example, Samsung released a Galaxy Tab emulator. Sony Ericsson released a EDK Cellphone emulator. You can get them thru the regular android distribution update workflow.
Will every device(In future) satisfy these layout params (normal,small,large and xlarge)?
Yes, as Android distributions are backward compatible. Any of these layout will still be supported in the future, but may become 'deprecated' (so not recommended, but still working), and new layout types will certainly be created.
I finished my application and prepared it for distribution on Android Market. It is currently available. Before we begin to advertise the app, we are working to get the problems fixed. We only have it available so we can distribute to people who do not live nearby. My question, then, is that it works PERFECTLY on any smartphone we have thrown at it. A lady we know tried it on her Galaxy tab and it crashes out. I can replicate this error in the android emulator. All my code is correct, except for the fact that I have large and xlarge screens set to false in my support screens tag. My minSdkVersion is set for android 1.6
Any help?
The supports-screens tag in the AndroidManifest.xml is used only by the Market for filtering apps. By setting large and xlarge to false, you should be excluding all tablets via the Market. Tablet users will simply not see your app in searches or via browsing. However, that will not stop a crafty user from side-loading your app on a tablet if they get hold of the APK file (perhaps by installing it to a smartphone and then extracting the APK from the phone).
If you posted the error message you are experiencing along with a stacktrace and/or some logcat info, we'd be able to help you out better. My guess (based on prior experience) as to why you're crashing on the GX tab has to do with organization of layouts and resources. The Galaxy Tab is a large-hdpi device, and you may have your layouts/resources organized such that when run on the GX tab, it cannot locate a needed resource and simply crashes.
Check out this doc at the Android developer's website for more info:
How Android Finds the Best-matching Resource
I am in middle of learning application development.
I have created an application in 2.2 and tested that in my HTC Nexus One device.
I looks like fine. My client testing same application setup in his device (Droid2). I don't have that device to test.
He said there are some font sizes are vary and button alignments are missing. When I testing in my device everything looks fine.
So, I need to test my application in Simulator which resembles like Droid2 device. Can anyone tell me how to create emulator and setup like Droid2.
And also, is there any need to adjust my code or anything in manifest file.
Any help/suggestion will be much helpful for me to fix this problem.
Thanks in advance for your replies.
Go to this page http://developer.motorola.com/docstools/tools/ and download the emulator add-ons for any of the Motorola android family. Droid 2, Droid X, Cliq, Devour, all your favorites.
I cant comment on your code because I have not seen it.