10英寸平板电脑在Playstore中的应用列表,但不显示7英寸平板电脑

时间:2016-04-13 07:58:08

标签: android google-play android-manifest

我已根据其他帖子的建议检查了使用权限,使用功能和支持屏幕。我已经在playstore中上传了一个应用程序作为带有以下清单文件的更新。以前的版本运行良好。该项目早些时候在eclipse中,现在转移到android工作室。我遇到了清单合并,因为使用了很多库,因此不必要地添加了许多权限,因此我逐个删除了每个。检查了uses-permission和uses-feature。以前版本的清单变化由星号

表示

我的应用程序必须仅支持平板电脑。

这是主要的清单文件。

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.xx.yy"
        android:versionCode="13"
        android:versionName="1.8.1">

        <uses-sdk
            android:minSdkVersion="14"
            android:targetSdkVersion="19" />

        <supports-screens
            android:largeScreens="true"
            android:normalScreens="false"
            android:requiresSmallestWidthDp="600"
            android:smallScreens="false"
            android:xlargeScreens="true"
            *tools:replace="android:normalScreens,android:smallScreens" />

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

        <uses-feature android:name="android.hardware.camera" />
        *<uses-feature
        *    android:name="android.hardware.location.gps"
        *    android:required="false" />

*<uses-feature
        *    android:name="android.hardware.location.network"
        *    android:required="false" />

        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />

        <permission
            android:name="com.xx.yy.permission.C2D_MESSAGE"
            android:protectionLevel="signature" />

        <uses-permission android:name="com.xx.yy.permission.C2D_MESSAGE" />
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
        <uses-permission android:name="android.permission.GET_TASKS" />
        <uses-permission android:name="android.permission.REORDER_TASKS" />
        *<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     *   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>*

        *<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" tools:node="remove"/>
       * <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" tools:node="remove"/>
       * <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" tools:node="remove"/>
      *  <uses-permission android:name="android.permission.VIBRATE"  tools:node="remove"/>
       * <uses-permission android:name="android.permission.FLASHLIGHT"  tools:node="remove"/>
      *  <uses-permission android:name="android.permission.READ_CONTACTS"  tools:node="remove"/>
    </manifest>

在先前版本上运行转储标记后的AAPT属性。

package: name='om.xx.yyy' versionCode='8' versionName='1.7' platformBuildVersionName='5.0.1-1624448'
sdkVersion:'11'
targetSdkVersion:'19'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.GET_ACCOUNTS'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='com.hp.wallartsolutions2.permission.C2D_MESSAGE'
uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
uses-permission: name='android.permission.GET_TASKS'
uses-permission: name='android.permission.REORDER_TASKS'

application-icon-120:'res/drawable-mdpi-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-icon-480:'res/drawable-xxhdpi-v4/icon.png'
application: label='xyz' icon='res/drawable-mdpi-v4/hp_icon.png'
launchable-activity: name='com.xx.yyy.ui.SplashScreenActivity'  label='' icon=''
feature-group: label=''
  uses-feature: name='android.hardware.camera'
  uses-feature: name='android.hardware.screen.landscape'
  uses-implied-feature: name='android.hardware.screen.landscape' reason='one or more activities have specified a landscape orientation'
  uses-feature: name='android.hardware.touchscreen'
  uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps'
main
other-activities
other-receivers
other-services
supports-screens: 'large' 'xlarge'
supports-any-density: 'true'
requires-smallest-width:'600'
locales: '--_--' 'ca' 'da' 'fa' 'ja' 'nb' 'id' 'be' 'de' 'he' 'af' 'bg' 'th' 'zh' 'fi' 'hi' 'vi' 'sk' 'uk' 'el' 'nl' 'pl' 'sl' 'tl' 'am' 'in' 'ko' 'ro' 'ar' 'fr' 'hr' 'sr' 'tr' 'cs' 'es' 'ms' 'it' 'lt' 'pt' 'eu' 'hu' 'ru' 'zu' 'lv' 'sv' 'iw' 'sw' 'fr-CA' 'lo-LA' 'en-GB' 'et-EE' 'ka-GE' 'km-KH' 'zh-HK' 'hy-AM' 'zh-CN' 'en-IN' 'mn-MN' 'pt-BR' 'es-ES' 'es-US' 'pt-PT' 'zh-TW' 'ms-MY'
densities: '120' '160' '240' '320' '480'
native-code: 'armeabi' 'armeabi-v7a'

我尝试在当前版本的apk上运行aapt dump badging来查找apk属性。 这就是结果。

package: name='com.xx.yyy' versionCode='13' versionName='1.8.1' platformBuildVersionName='4.4W.2-1537038'
sdkVersion:'14'
targetSdkVersion:'19'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.GET_ACCOUNTS'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='com.xx.yyy.permission.C2D_MESSAGE'
uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
uses-permission: name='android.permission.GET_TASKS'
uses-permission: name='android.permission.REORDER_TASKS'
uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
application-label:'xyz'
application-icon-120:'res/drawable-mdpi-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-icon-480:'res/drawable-xxhdpi-v4/icon.png'
application: label='xyz' icon='res/drawable-mdpi-v4/icon.png'
launchable-activity: name='com.xx.yy.zz.SplashScreenActivity'  label='' icon=''
feature-group: label=''
  uses-feature: name='android.hardware.camera'
  uses-feature-not-required: name='android.hardware.camera.autofocus'
  uses-feature-not-required: name='android.hardware.camera.flash'
  uses-feature-not-required: name='android.hardware.camera.front'
  uses-feature-not-required: name='android.hardware.location.gps'
  uses-feature: name='android.hardware.screen.landscape'
  uses-feature: name='android.hardware.touchscreen'
  uses-feature-not-required: name='android.hardware.wifi'
  uses-feature: name='android.hardware.location'
  uses-implied-feature: name='android.hardware.location' reason='requested android.permission.ACCESS_COARSE_LOCATION permission, and requested android.permission.ACCESS_FINE_LOCATION permission'
  uses-feature: name='android.hardware.location.network'
  uses-implied-feature: name='android.hardware.location.network' reason='requested android.permission.ACCESS_COARSE_LOCATION permission'
main
other-activities
other-receivers
other-services
supports-screens: 'large' 'xlarge'
supports-any-density: 'true'
requires-smallest-width:'600'
locales: '--_--' 'ca' 'da' 'fa' 'ja' 'pa' 'ta' 'nb' 'id' 'be' 'de' 'he' 'te' 'af' 'bg' 'th' 'zh' 'fi' 'hi' 'vi' 'sk' 'uk' 'el' 'ml' 'nl' 'pl' 'sl' 'tl' 'am' 'bn' 'in' 'kn' 'ko' 'ro' 'ar' 'fr' 'hr' 'mr' 'sr' 'tr' 'cs' 'es' 'ms' 'it' 'lt' 'pt' 'eu' 'gu' 'hu' 'ru' 'zu' 'lv' 'sv' 'iw' 'sw' 'fr-CA' 'lo-LA' 'en-GB' 'et-EE' 'ka-GE' 'km-KH' 'zh-HK' 'hy-AM' 'zh-CN' 'en-IN' 'mn-MN' 'pt-BR' 'es-ES' 'es-US' 'pt-PT' 'zh-TW' 'ms-MY'
densities: '120' '160' '240' '320' '480'
native-code: 'armeabi' 'armeabi-v7a'

是否有我遗漏的东西,以便7英寸设备的应用程序也可见?我的应用程序必须仅支持平板电脑。 该应用程序未列出任何7英寸设备。 aapt dump badging命令显示对大型和x大型设备的支持。

由于zing库以下是库中的权限而发生的清单合并

<manifest
    package="com.google.zxing.client.android"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="auto"
    android:versionCode="94"
    android:versionName="4.5.1">

    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="19"/>

    <!-- Don't require camera, as this requires a rear camera. This allows it to work on the Nexus 7 -->
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false"/>
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false"/>
    <!-- TODO replace above two with next line after Android 4.2 -->
    <!-- <uses-feature android:name="android.hardware.camera.any"/> -->
    <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"/>
    <uses-feature
        android:name="android.hardware.wifi"
        android:required="false"/>
    <!-- This excludes Google TV, which is unfortunately included by virtue of not requiring a camera -->
    <uses-feature android:name="android.hardware.touchscreen"/>
    <!-- TODO make this not required again after android.hardware.camera.any is available -->

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

</manifest>

更新1:我将使用功能android.hardware.location.gps更改为false,并且它不会直接出现在Playstore搜索中。但是当从浏览器搜索并按下安装导航到Playstore并成功安装时。我使用HP Slate 7安装http://www.gsmarena.com/hp_slate_7-5317.php

更新2:我已将使用功能android.hardware.location.network更改为false并上传了测试版。等待它现在活跃

3 个答案:

答案 0 :(得分:3)

这不是许可的问题,而是引起这个问题的<support-screens>块。

    <supports-screens
        android:largeScreens="true"
        android:normalScreens="false"
        android:requiresSmallestWidthDp="600"
        android:smallScreens="false"
        android:xlargeScreens="true"
        tools:replace="android:normalScreens,android:smallScreens" />

您的应用限制在某些屏幕上,因此我建议您对其进行审核,尤其是设置为false的条目。

修改

tools:replace告诉您要使用清单中的值,而不是libs中的值。而你的人告诉normalScreen=falsenormalScreenTraditionally this is an HVGA medium density screen, but WQVGA low density and WVGA high density are also considered to be normal。我怀疑7“平板电脑,你看到的问题不是高分辨率屏幕供电,如果是这样,那就是为什么你的应用程序被列为不兼容的原因。除非你的应用程序真的不能用于normalScreen,否则没有设置点这到false

答案 1 :(得分:2)

我在上传时遇到了同样的事情。它

当我删除所有uses-feature块时,它开始列出所有手机和平板电脑。这是我的清单 -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.COMPANY.APP.app">

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

    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.COMPANY.APP.app.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

    <permission
        android:name="com.COMPANY.APP.app.gcm.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.COMPANY.APP.app.gcm.permission.C2D_MESSAGE" />
    <uses-permission
        android:name="android.permission.FLASHLIGHT"
        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
        android:protectionLevel="normal" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
</manifest>

答案 2 :(得分:0)

通过添加解决。

*<uses-feature
            android:name="android.hardware.location"
            android:required="false" />*
 <uses-feature
            android:name="android.hardware.location.gps"
            android:required="false" />

<uses-feature
            android:name="android.hardware.location.network"
            android:required="false" />

HP slate 7没有位置支持。斜体中的位置块需要使应用程序在HP slate 7中可见