- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一款应用已经推出 2 年多了,只要平板电脑问世,它就一直支持平板电脑。我有一台用于平板电脑测试的 Asus Transformer 平板电脑。在我进行更新之前,该应用程序与平板电脑设备兼容。对于我最近的一组更改,我在 Android Manifest 文件中唯一更改的是应用程序版本号和应用程序版本字符串。其他一切都和以前完全一样。但是,更新后,当我在 Google Play 中搜索该应用时,该应用并未出现。当我在平板电脑上的浏览器中查看该应用程序时,它显示“您的设备与此版本不兼容。”
在没有修改权限的情况下,这个新版本究竟如何与平板电脑不兼容?当我查看我的应用程序时,在 Android 开发人员控制台内部,它表示支持 2,673 台设备,并表示排除了 0 台设备(没错,零台设备)。好吧,如果那是真的,我怎么可能收到不兼容消息?此外,当我查看支持的设备列表时,我的华硕平板电脑会列在那里。
请注意,该应用程序大小仅为 1.19 MB,我实际上有 2 个可执行文件用于同一应用程序,但另一个可执行文件专门针对 Android 1.5 及更低版本,其版本代码为 0300800,因此低于版本代码对于支持 Android 1.6 及更高版本的可执行文件(使用兼容包)。
此外,当使用 ADB 连接到我的计算机时,我能够将应用程序直接加载到平板电脑上。我什至意识到这个问题现在发生的唯一原因是因为我收到了几位平板电脑用户的电子邮件,他们说他们收到了与我相同的消息,只是他们使用的平板电脑与我不同。
这是我的 Manifest 文件(同样,除了版本号之外它没有变化):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my_package"
android:versionCode="0400921"
android:versionName="9.2.1"
android:installLocation="auto">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<supports-screens android:anyDensity="true"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".App"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity1" android:label="Activity1"></activity>
<more activities>
</application>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" />
最佳答案
我联系了 Google,他们调查了这个问题。有很多问题。首先,他们说切换到新的开发者控制台起到了一定的作用,因为旧的开发者控制台更加宽松。他们说我的旧 list 文件在旧 Devloper 控制台中工作,但从技术上讲,旧 list 文件实际上并没有指定平板电脑的信息。
因此,我将我的 list 文件更新为此,现在使用平板电脑的用户可以在 Google Play 中访问该应用:
<?xml version="1.0" encoding="utf-8"?>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" />
<compatible-screens>
<screen android:screenSize="large" android:screenDensity="480" />
<screen android:screenSize="xlarge" android:screenDensity="480" />
<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" />
<!-- 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>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".App"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Activity1" android:label="Activity1"></activity>
</application>
</manifest>
另外,他们说为了扩大兼容性,用supports-screens代替compatible-screens。
关于android - 为什么 App 更新后与平板不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15733070/
我的应用程序中有两个 Activity 。第一个 Activity 启动模式是 singleInstance,第二个 Activity 启动模式是 singleTask。我正在使用这些启动模式,因为我
据热心网友投稿,小米小爱触屏音箱Pro 8外观曝光,可以看到触控屏幕尺寸比较大,像是在音箱上“长”了一个平板。 从曝光的信息来看,小米小爱触屏音箱Pro 8具有白色的配色设计,下方有一个长
我有一张 table ,看起来像, VisitorId date deviceType 1 2018-12-11 mobile 2
今天下午,小米官方公布了小爱触屏音箱Pro 8,可以看到触控屏幕尺寸比较大,音箱上“长”了一个平板。据悉,小米小爱触屏音箱Pro 8具有白色的配色设计,下方有一个长条状的扬声器,上方带有一个尺寸比较
有没有办法检测是否使用手持浏览器(iOS/Android 手机/平板电脑)? 我尝试这样做的目的是让手持设备上的浏览器中的元素宽度减半,但这并没有什么不同。 width: 600px; @media
目前,Google Analytics for web 公开了一个设备类别字段,其离散值为mobile、tablet 和desktop。该界面还允许您更深入地了解它的具体设备。我想 Google 有某
我是一名优秀的程序员,十分优秀!