In my app I use the FingerprintManager.
In the manifest I have declared the uses-feature and the permission:
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-feature android:name="android.hardware.fingerprint" android:required="false" />
It all works fine on devices with fingerprint hardware. It also works fine if I install the app by AndroidStudio on a device without the fingerprint hardware.
The problem is when I try to install the .apk on a device without fingerprint hardware I get either a parsing error or a simple message "App was not installed."
What can I do to fix this ?
Finally I found the solution.
I had to check V1 (JAR signature) on the second page of 'Build signed APK' in AndroidStudio.
Related
My app connects to the internet in development, however, the apk uploaded to the play store does not pull down data from the api.
How can I debug the release apk using chrome dev tools?
I have the following permissions in my AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
If debug the API response, you do it by setting up the proxy, for that you can use the Charles proxy .
guide https://www.charlesproxy.com/documentation/using-charles/
I have built one android application and uploaded in playstore. Few devices most probably which are not having gps are not able to download from playstore. Playstore saying "your device isn't compatible with this version".
I am using
the following permission and features
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
I didn't make the feature required=true, so far I know if don't mention required=true then it will not prevent devices to download which are not having such features.
For your information, manually I am able to install the apk to the same device. Your help is highly appreciated.
My app should only be installed on devices that have a fingerprint sensor. (Marshmallow+). In AndroidManifest I have the following code:
<uses-feature android:name="android.hardware.fingerprint" android:required="true" />
However, some devices on Google Play are marked as "incompatible", but do work when the APK is installed manually. Why does this not work as it should?
I'm trying to use Google Maps in my App. I created an debug certificate which is saved in debug.keystore. I registered it at code.google.com (with correct project package) and copied the api key to the android manifest. I have all needed Permissions, i use
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
and i have
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
I still get an error when i install the app on my device with ADB (using the eclipse android plugin and the start button). How can i fix that (i checked the certificate and the api key already multiple times)?
Thanks for the comments. I instantly found the error when trying to copy the log. (after 1 h searching)
The problem was that i changed my package name. In logcat i saw that in the Android manifest, a different package name was contained.
Here is the stuff that matters from my Android App Manifest file. I am looking at supporting Android API Level 4 and above with target = 14 supporting all screens.
Developer console shows
API level: 4-16+
Supported screens: small-xlarge
OpenGL textures: all
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
<uses-permission android:name="android.permission.WIFI_CHANGE_STATE"/>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14"/>
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true" />
Here is the Google Play App link
Here are the device details for the Device from which when I go to Google Play my App shows incompatible.
Motorola DROID Bionic
Android Vs 4.0.4
Verizon Wireless CDMA
System Version 6.7.230.XT875.Verizon.en.US (Leaked ICS Build for DROID Bionic)
Build Number 6.7.2-223
I have tried turning Copy Protection On/Off from Google Play but same result.
I am unable figure out what is causing this incompatibility with my app and device because Google Play Publishing shows this Device is supported by my release apk.
Is there any chance that me using a leaked ICS build for the Bionic has anything to do with it? It would be very helpful if anyone with 4.0.4 or (Android device running any version of ICS) can try to download the app from Google Play and see if the App is incompatible with their device too or its just me. Other than that suggestions on a way to fix this would be tremendously helpful.
Thanks so much.
Update: I am using two SDKs with my App - Flurry SDK and Skyhook Wireless SDK jar files both of which are compatible with Android 4.0. Also I have added Android Support Library and compiled the codebase against Android 4.0.3 and the App still is incompatible with the device and build mentioned above running Android v 4.0.4
Problem Solved!
First of all there is nothing wrong in the Manifest or the version of Android SDK I compiled the code base against which is Android 4.1.
I could search for and install the App when I turned Copy Protection OFF from Google Play developer console and waited 30 minutes to 1 hour for the new copy protection setting to take effect. The key here is that after changing the Copy Protection settings you have to wait. This does not take effect immediately.
Previously Copy Protection was ON for Tooyoou and after I wrote to Android developer support I got the clue in their reply email as below.
If your app no longer appears in Google Play after enabling Copy Protection, please note that our copy protection relies on being able to trust the build of Android that the app is installed on. Therefore, we only show copy-protected apps to known good builds of Android. If a specific port of Android is not a known good build (e.g. some “Custom ROMs”) or the device is rooted, Google Play will not display copy-protected apps to these devices. If the users switch to an official version of Android, they'll be able to see your application again.
Since I am running a custom unreleased ROM on my DROID BIONIC this is what caused the issue. Stock ASOP ICS and Jelly Bean devices were able to download and install the app even when Copy Protection was ON. Copy Protection is a bit tricky for Paid App but since Tooyoou is free there is not much to care about.
Also note Copy Protection is supposedly being deprecated soon and Licensing feature in the Android SDK is the way to go for Paid App copy protection.
have you tried adding android:xlargeScreens="true" to support-screens?