This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
We have this small app that runs on any phone having API level 6 and above (Android 2.0.1). However, when one of our test phones, Dell XCD 35 tries to install this app from Android Market, it simply says that device is not compatible.
This is rather puzzling because when I deploy that APK directly on the device via email, it works fine but it shows compatibility error via Android Market. I have verified that all <uses-feature> are available on the Dell XCD 35 device.
What could be causing this "Not Compatible" warning? Any pointers would be highly appreciated.
I found answer to this one few days ago, but couldn't add it here as I was preoccupied with several other things. Adding answer now so that anyone facing similar problem might benefit from this.
I am using Camera Flashlight in my application. However, I have taken care in the code to ensure that it would run fine on devices not having camera flashlight (such as Dell XCD 35 aka ZTE Blade). I had not added an explicit <uses-feature> tag for this. For some reason, android market labelled this feature as "mandatory" and showed it as "not compatible" for all android devices that didn't have camera flashlight.
I solved this by adding 3 <uses-feature> lines in my android manifest file with attribute "android:required" set as false.
This fixed the problem, and android market shows 'Dell XCD 35 aka ZTE Blade' it as compatible device for my app.