Android App Publishing - "不支持任何设备"

时间:2015-09-04 08:36:20

标签: android google-play app-store manifest publish

以下是我的Android清单。任何人都可以帮助我,为什么我的应用程序显然不支持任何设备当apk上传到Android播放/开发控制台? 我已经包含支持/兼容屏幕,但我知道只需要一个。我没有"假"值/属性和我的所有权限都是正确的等。

我意识到这可能是重复的,但是,我发现的唯一问题是我没有的问题(虚假属性等)或仅适用于应用程序没有的特定设备。支持。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="PACKAGE.NAME"
    android:versionCode="7"
    android:versionName="0.1.4">

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

    <compatible-screens>
        <!--Only hdpi and xhdpi for normal size screens -->
        <screen android:screenSize="normal" android:screenDensity="ldpi" />
        <screen android:screenSize="normal" android:screenDensity="mdpi" />
        <screen android:screenSize="normal" android:screenDensity="hdpi" />
        <screen android:screenSize="normal" android:screenDensity="xhdpi" />

        <!-- all large size screens -->
        <screen android:screenSize="large" android:screenDensity="ldpi" />
        <screen android:screenSize="large" android:screenDensity="mdpi" />
        <screen android:screenSize="large" android:screenDensity="hdpi" />
        <screen android:screenSize="large" android:screenDensity="xhdpi" />

        <!-- all xlarge size screens -->
        <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
        <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
        <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

        <!-- Special case for Nexus 7 -->
        <screen android:screenSize="large" android:screenDensity="213" />

    </compatible-screens>

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="20"/>

    <uses-feature android:name="android.feature.CAMERA"
        android:required="true"
        android:glEsVersion="0x00020000"/>
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <application
        android:name="NAME"
        android:allowBackup="true"
        android:icon="@drawable/logoapp"
        android:label="@string/app_name">

        <meta-data android:name="assist-host" android:value="IP_ADDRESS"/>
        <meta-data android:name="assist-port" android:value="PORT_NO"/>

        <activity android:name=".LoginActivity"
            android:theme="@android:style/Theme.NoTitleBar"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustResize|stateVisible">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".Main"/>
        <activity android:name=".InCallActivity"
            android:theme="@android:style/Theme.NoTitleBar"
            android:launchMode="singleTask"/>

        <activity android:name=".ResolutionActivity"
            android:label="@string/title_activity_resolution" />
        <activity android:name=".CameraSelectionActivity"
            android:label="@string/title_activity_camera_selection" /> 

        <activity android:name=".MainActivity"/>
        <activity android:name=".PreferencesActivity"/>

        <activity android:name=".ActivityLAInCall"
            android:launchMode="singleTop"/>

        <service android:name=".RingtoneBackgroundService"/>
        <service android:name=".AssistService"/>
    </application>
</manifest>

1 个答案:

答案 0 :(得分:2)

只需添加

<supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:requiresSmallestWidthDp="720"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

有关支持屏幕的更多信息,请阅读此page

如果您的应用不支持平板电脑android:requiresSmallestWidthDp="720"

,请将其删除

从manifest中删除compatible-screens元素,因为

警告: 通常,您不应使用此清单元素 compatible-screens 。使用此元素可以显着减少应用程序的潜在用户群,如果用户的设备具有未列出的屏幕配置,则不允许用户安装应用程序。当应用程序绝对不适用于特定的屏幕配置时,您应该仅将其用作最后的手段。您应该遵循支持多个屏幕的指南,而不是使用此元素,以使用不同的屏幕尺寸和密度的替代布局和位图为多个屏幕提供可扩展的支持。

在此处阅读更多内容compatible-screens

所以,从ANDROID MANIFEST中删除以下代码

                                            

    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="ldpi" />
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="ldpi" />
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen android:screenSize="large" android:screenDensity="213" />

</compatible-screens>

执行此操作后,您的应用支持超过8000台设备:)

也将此android.feature.CAMERA更改为android.hardware.camera,如果不需要相机,请将此android:required="true"更改为android:required="false"