我似乎无法将 Samsung GalaxyTab 4 7.0 包含在我的 Cordova
的 PlayStore 兼容设备列表中应用程序,尽管:
supports-screens
,不是 compatible-screens
compatible-screens
而不仅仅是 supports-screens
resizeable=true/false
的各种组合, anyDensity=true/false
uses-feature/required=false
或者只是您认为有意义的那些(硬件.电话,因为它是无 SIM/WIFI 的设备)touchscreen
和 screen.portrait/landscape
screenOrientation="portrait"
tvdpi/213
在兼容屏幕中 (不过 GalaxyTabs <4 是兼容的)
我错过了什么?
当前
AndroidManifest.xml
:<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10200" android:versionName="1.2.0" package="[removed]" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true"
/>
<application
android:hardwareAccelerated="true"
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
android:label="@string/activity_name" android:launchMode="singleTop"
android:name="CordovaApp" android:theme="@android:style/Theme.Black.NoTitleBar"
android:windowSoftInputMode="adjustResize">
<!-- Cordova default here -->
</activity>
</application>
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
<uses-feature android:name="android.hardware.screen.landscape" android:required="false" />
<!-- With compat-screens added, there'd also be: -->
<compatible-screens>
<screen android:screenDensity="ldpi" android:screenSize="small" />
<screen android:screenDensity="mdpi" android:screenSize="small" />
<screen android:screenDensity="hdpi" android:screenSize="small" />
<screen android:screenDensity="xhdpi" android:screenSize="small" />
<screen android:screenDensity="213" android:screenSize="small" />
<screen android:screenDensity="480" android:screenSize="small" />
<screen android:screenDensity="ldpi" android:screenSize="normal" />
<screen android:screenDensity="mdpi" android:screenSize="normal" />
<screen android:screenDensity="hdpi" android:screenSize="normal" />
<screen android:screenDensity="xhdpi" android:screenSize="normal" />
<screen android:screenDensity="213" android:screenSize="normal" />
<screen android:screenDensity="480" android:screenSize="normal" />
<screen android:screenDensity="ldpi" android:screenSize="large" />
<screen android:screenDensity="mdpi" android:screenSize="large" />
<screen android:screenDensity="hdpi" android:screenSize="large" />
<screen android:screenDensity="xhdpi" android:screenSize="large" />
<screen android:screenDensity="213" android:screenSize="large" />
<screen android:screenDensity="480" android:screenSize="large" />
<screen android:screenDensity="ldpi" android:screenSize="xlarge" />
<screen android:screenDensity="mdpi" android:screenSize="xlarge" />
<screen android:screenDensity="hdpi" android:screenSize="xlarge" />
<screen android:screenDensity="xhdpi" android:screenSize="xlarge" />
<screen android:screenDensity="213" android:screenSize="xlarge" />
<screen android:screenDensity="480" android:screenSize="xlarge" />
</compatible-screens>
</manifest>
----
aapt dump badging app.apk
package: name='[removed]' versionCode='10200' versionName='1.2.0'
application-label:'[removed]'
application-icon-120:'res/drawable-ldpi-v4/icon.png'
application-icon-160:'res/drawable-mdpi-v4/icon.png'
application-icon-240:'res/drawable-hdpi-v4/icon.png'
application-icon-320:'res/drawable-xhdpi-v4/icon.png'
application: label='[removed]' icon='res/drawable-mdpi-v4/icon.png'
launchable-activity: name='[removed].CordovaApp' label='[removed]' icon=''
sdkVersion:'18'
targetSdkVersion:'21'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.ACCESS_NETWORK_STATE'
uses-permission:'android.permission.INTERNET'
uses-feature-not-required:'android.hardware.telephony'
uses-feature-not-required:'android.hardware.camera'
uses-feature-not-required:'android.hardware.camera.autofocus'
uses-feature-not-required:'android.hardware.touchscreen'
uses-feature-not-required:'android.hardware.screen.portrait'
uses-feature-not-required:'android.hardware.screen.landscape'
uses-permission:'android.permission.READ_EXTERNAL_STORAGE'
uses-implied-permission:'android.permission.READ_EXTERNAL_STORAGE','requested WRITE_EXTERNAL_STORAGE'
main
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--'
densities: '120' '160' '240' '320'
编辑:更新 list ,添加 aapt 转储
----
编辑2:
它现在 - 莫名其妙地 - 与上述 list (及其变体)一起使用。
一定是黑魔法
最佳答案
我会尝试删除整个兼容屏幕部分。如此处所述 https://developer.android.com/guide/topics/manifest/compatible-screens-element.html ,你应该只将此作为最后的手段
编辑
在兼容屏幕部分为大屏幕添加 screenDensity="tvdpi"也可能有帮助。例如,第一代 Nexus 7 具有 tvdpi 密度。
其他可能有帮助的东西是 aapt 工具,例如
./aapt dump badging YourApp.apk
关于三星 Galaxy Tab 4 系列的 Androidmanifest.xml Play 商店设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839664/