Android 应用发布 - "No devices supported"
Android App Publishing - "No devices supported"
下面是我的 android 清单。谁能帮我解释为什么当 apk 上传到 android play/dev 控制台时我的应用程序显然不支持任何设备?
我已经包含 supports/compatible 个屏幕,但我知道只需要一个。我没有 "false" values/attributes 并且我的所有权限都是正确的等等
我意识到这可能是重复的,但是,我发现的唯一问题是我没有的问题(false 属性等)或仅针对应用程序不支持的特定设备。
<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>
只需添加
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:requiresSmallestWidthDp="720"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
有关支持屏幕的更多信息,请阅读此 page
如果您的应用不支持平板电脑,请删除此选项android:requiresSmallestWidthDp="720"
从清单中删除兼容屏幕元素,因为
警告: 通常,您不应使用此清单元素 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"
下面是我的 android 清单。谁能帮我解释为什么当 apk 上传到 android play/dev 控制台时我的应用程序显然不支持任何设备?
我已经包含 supports/compatible 个屏幕,但我知道只需要一个。我没有 "false" values/attributes 并且我的所有权限都是正确的等等
我意识到这可能是重复的,但是,我发现的唯一问题是我没有的问题(false 属性等)或仅针对应用程序不支持的特定设备。
<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>
只需添加
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:requiresSmallestWidthDp="720"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
有关支持屏幕的更多信息,请阅读此 page
如果您的应用不支持平板电脑,请删除此选项android:requiresSmallestWidthDp="720"
从清单中删除兼容屏幕元素,因为
警告: 通常,您不应使用此清单元素 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"