Uploaded APK to Play Store, got 0 supported device

2019-07-04 00:33发布

I am trying to publish an Alpha version of my app to the Play Store, but I am getting 0 supported devices and it is frustrating as I don't see the bug.

The project is a new style (gradle) and the API declaration and versions are defined in the build.gradle.

You can get the app here https://github.com/Coinomi/coinomi-android

Here is my manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.coinomi.wallet"
    android:installLocation="internalOnly" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.BLUETOOTH" />

    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.nfc"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.flash"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.screen.landscape"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.bluetooth"
        android:required="false" />

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

    <application
        android:name=".WalletApplication"
        android:allowBackup="false"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".ui.WalletActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".ui.IntroActivity"
            android:theme="@style/NoTitleBar"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize" >
        </activity>

        <activity
            android:name=".ui.ScanActivity"
            android:configChanges="orientation|keyboard|keyboardHidden"
            android:theme="@style/NoTitleBar"
            android:screenOrientation="landscape"
            android:stateNotNeeded="true"
            android:windowSoftInputMode="stateAlwaysHidden" />

        <service
            android:name=".service.CoinServiceImpl"
            android:exported="false" />

    </application>

</manifest>

I you have an idea please help because I am stuck from yesterday.

Thanks!

2条回答
我只想做你的唯一
2楼-- · 2019-07-04 01:03

I've got the same issue. The problem was in uses-feature. In my manifest.xml I have

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />
<uses-feature
    android:name="android.hardware.camera2"
    android:required="true" />

The solution was to change to

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

Since I've marked both camera and camera2 as required and no devices have both of them I was having 0 supported devices.

查看更多
时光不老,我们不散
3楼-- · 2019-07-04 01:07

Finally it was a dependency compile 'com.lambdaworks:scrypt:1.4.0' that was causing the issue.

If you stumble upon this issue, check if in the APK DETAILS dialog in Google Play if you have:

Native platforms x86_64

This was, I think, the problem because when I removed the dependency, the x86_64 part was removed and got 6814 supported devices.

UPDATE

The root of the problem was that the dependency had native precompiled .so libraries but none for Android. I had to recompile with NDK from source for the platforms: armeabi-v7a and armeabi

查看更多
登录 后发表回答