三星 Galaxy Tab 4 系列的 Androidmanifest.xml Play 商店设置

标签 android cordova google-play android-manifest

我似乎无法将 Samsung GalaxyTab 4 7.0 包含在我的 Cordova 的 PlayStore 兼容设备列表中应用程序,尽管:

  • 仅使用 supports-screens ,不是 compatible-screens
  • 使用 compatible-screens而不仅仅是 supports-screens
  • resizeable=true/false的各种组合, anyDensity=true/false
  • 删除所有 Cordova 插件并有效地将所需的权限降至接近零
  • 玩弄 min- 和 targetSdkVersion 版本,以及 Cordova 使用的 SDK 版本
  • 添加所有可能的 uses-feature/required=false或者只是您认为有意义的那些(硬件.电话,因为它是无 SIM/WIFI 的设备)
  • ^ 现在包括 touchscreenscreen.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/

    相关文章:

    google-play - 在 Google Play 中进行 Beta 测试的分发国家/地区

    java - 5 秒后更改布局

    android - 在显示拆分操作栏时隐藏操作栏

    jquery-mobile - JQuery - 使用 navigator.notification.alert

    javascript - PhoneGap : JavaScript Focus and Blur event in iOS/Android

    android - 使用 Release 签署 Android APK

    android - 如何在 Google Play 上重新排列屏幕截图

    android - 需要一个明确的答案来设计 Android ActionBar 选项卡

    android - 从 uri 播放音频

    ios - cordova 应用程序文件夹中没有 .xcodeproj 文件