上传APK到Play商店,获得0支持的设备,但没有错误

时间:2014-09-22 16:27:52

标签: android android-manifest google-play

我正在尝试将我的应用程序的Alpha版本发布到Play商店,但我获得了0个受支持的设备,因为我没有看到错误,所以很令人沮丧。

项目是一种新的样式(gradle),API声明和版本在build.gradle中定义。

您可以在https://github.com/Coinomi/coinomi-android

获取应用

这是我的清单文件:

<?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>

我有一个想法,请帮忙,因为我从昨天开始被困住了。

谢谢!

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。问题出在使用功能上。在我的 manifest.xml 中,我有

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

解决方案是改为

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

由于我已根据需要标记了相机和相机2,并且没有任何设备同时拥有这两个设备,因此我有0个支持的设备。

答案 1 :(得分:3)

最后是导致问题的依赖compile 'com.lambdaworks:scrypt:1.4.0'

如果您偶然发现此问题,请检查您是否在Google Play的APK DETAILS对话框中:

原生平台x86_64

我认为这是问题,因为当我删除依赖项时,x86_64部分被删除并获得了6814个受支持的设备。

更新

问题的根源在于依赖项具有本机预编译的.so库,但没有适用于Android的依赖项。我不得不从源代码中为NDK重新编译平台:armeabi-v7a和armeabi