AndroidManifest.xml 中的 <compatible-screen> 行无效

Invalid <compatible-screen> line in your AndroidManifest.xml

将 APK 作为更新上传到 google playstore 时,我收到类似 "you included an invalid line in your AndroidManifest.xml: 500/580"

的错误

这是我的 AndroidManifest.xml 兼容屏幕标签。

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

        <!-- all 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" />
     <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

        <!-- XXHdpi Screen -->
       <screen android:screenSize="large" android:screenDensity="480" />
       <screen android:screenSize="normal" android:screenDensity="480" />

         <!-- XXXHdpi Screen -->
       <screen android:screenSize="xlarge" android:screenDensity="580" />
       <screen android:screenSize="large" android:screenDensity="580" />

    </compatible-screens>

有没有人对此有想法。

谢谢 提前。 杰蒂

屏幕密度标签只能取'ldpi'、'mdpi'等值,参考这个http://developer.android.com/guide/topics/manifest/compatible-screens-element.html

但是您在这里传递的是无效的 dpi 值,例如 480。

580 作为屏幕密度无法被 google 识别,但是 560 用于支持 Nexus 6 等设备

您可以使用<screen android:screenSize="normal" android:screenDensity="560" />

还要支持normal/large设备获取xxhdpi和xxxhdpi分别使用screenDensity=480和640

最后我用下面的代码想通了。

 <compatible-screens> 
            <!-- all small size screens -->
            <screen android:screenSize="small" android:screenDensity="ldpi" />
            <screen android:screenSize="small" android:screenDensity="mdpi" />
            <screen android:screenSize="small" android:screenDensity="hdpi" />
            <screen android:screenSize="small" android:screenDensity="xhdpi" />
            <!-- all 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" />

            <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

            <!-- XXHdpi Screen -->
             <screen android:screenSize="large" android:screenDensity="480" />
             <screen android:screenSize="normal" android:screenDensity="480" />

             <!-- XXXHdpi Screen -->

             <screen android:screenSize="normal" android:screenDensity="560" />
             <screen android:screenSize="xlarge" android:screenDensity="560" />
             <screen android:screenSize="large" android:screenDensity="560" />

             <screen android:screenSize="xlarge" android:screenDensity="640" />
             <screen android:screenSize="large" android:screenDensity="640" />
             <screen android:screenSize="normal" android:screenDensity="640" /> 

        </compatible-screens>

感谢您的宝贵建议。