Android 更新后,APK支持的设备比以前少
我有一个相对简单的应用程序,已经在谷歌的Play Store中了 现在我已经更新了这个应用程序。 这次更新的一点是我包括了ZBar扫描仪。其余的变化都很小,不应该对我的问题产生任何影响 我刚刚将我的应用程序的最新版本放入Play Store,收到以下警告: “警告:与以前的活动APK相比,活动APK支持的设备更少。某些用户将不会收到更新。” 我已经从sourceforge.net下载了ZBarAndroidSDK-0.2.zip(http://sourceforge.net/projects/zbar/files/AndroidSDK/)并按照自述文件中的说明将其导入到我的项目中 我在HTC Wildfire S(->版本2.3.5)、三星Galaxy 3(GT-I5800->版本2.2)和Galaxy Nexus(->版本4.2)上测试了我的应用程序。从来没有问题。一切顺利。 我还测试了导出的APK,没有问题 现在,我将此APK添加到Play Store并更新了我的应用程序,我得到了测试设备的警告。我的HTC Wildfire和三星Galaxy 3都无法更新新版本 谁能帮我解释一下有什么问题吗 非常感谢 编辑: 我的舱单:Android 更新后,APK支持的设备比以前少,android,android-manifest,android-2.3-gingerbread,android-2.2-froyo,zbar,Android,Android Manifest,Android 2.3 Gingerbread,Android 2.2 Froyo,Zbar,我有一个相对简单的应用程序,已经在谷歌的Play Store中了 现在我已经更新了这个应用程序。 这次更新的一点是我包括了ZBar扫描仪。其余的变化都很小,不应该对我的问题产生任何影响 我刚刚将我的应用程序的最新版本放入Play Store,收到以下警告: “警告:与以前的活动APK相比,活动APK支持的设备更少。某些用户将不会收到更新。” 我已经从sourceforge.net下载了ZBarAndroidSDK-0.2.zip(http://sourceforge.net/projects/z
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.myproject"
android:versionCode="5"
android:versionName="2.0"
android:installLocation="preferExternal"
>
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<application
android:uiOptions="splitActionBarWhenNarrow"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
>
<!-- enable the search dialog to send searches to SearchableActivity throughout the application -->
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
<activity
android:label="@string/app_name"
android:name=".MainActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.NoBackground">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:screenOrientation="landscape"
android:name=".zbar.ZBarScannerActivity">
</activity>
</application>
以及ZBar的舱单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.sourceforge.zbar.android.CameraTest"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application android:label="@string/app_name" >
<activity android:name="CameraTestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
首先,所用设备的任何更改都必须是清单的结果。这是安卓市场(Google Play)决定应用程序可以使用哪些设备的唯一方法。正如您所展示的,唯一的区别是您需要自动对焦。如果您将此行更改为以下内容,它应该可以工作
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false">
从本质上讲,这将允许您使用该功能,但不会使其成为必需的。这应该允许与所有以前的设备完全兼容。有关详细信息,请参阅
我还应该注意到,我看到你的主应用程序不需要摄像头,但zbar需要摄像头。这也可能会有所不同。我在tabletZenithink C93()上的应用程序(使用Zbar扫描仪)出现此问题。我需要创建与Zenithink设备兼容的应用程序 我在谷歌的游戏商店发布了这个应用程序。当我尝试在Zenithink C93上安装应用程序时,出现错误:“此项与您的设备不兼容” 我的舱单上有这样一行:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false">
但这对我没有帮助
我还有一个支持屏幕标签:
<supports-screens
android:smallScreens="false" android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
奇怪的是,经过长时间的搜索解决方案后,我完全删除了SupportScreens标签,并将android:required=“false”for
应用程序与Zenithink设备兼容
现在我的清单如下所示:
...
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<application...
。。。
你能粘贴你的AndroidManifest的内容吗?还有ZBar的舱单。请注意,库也有自己的清单文件—只需比较更新版本和以前版本的清单文件即可。查看新版本中是否有任何新的/
标记,而旧版本中没有。我的清单和ZBar清单之间的唯一区别是以下几行:。但我不认为这是问题所在。我的猜测是谷歌对ZBar项目添加的库有问题。导入项目时,我得到3个文件夹:armeabi、armeabi-v7a和x86。因此,我认为谷歌没有意识到armeabi与armeabi-v6类似。有人知道如何解决这个问题吗?就在那里。不是所有的相机都有自动对焦功能。谢谢你的快速回答。我的Wildfire S具有自动对焦功能()。所以它应该和这个设备一起工作。我真的认为这和“armeabi”有冲突…嘿,Pearsonatphoto,太多了。我尝试用“自动对焦”更新新版本。通常,如果您喜欢答案,您应该升级投票/接受它。对不起,下次:)。现在我上传了带有“自动对焦”功能的应用程序,但没有效果。我也不认为我对libs(->armeabi)的第一个假设是正确的。我检查了两台设备(Wildfire S、Galaxy 3)上的cpu_abi,它们都有“armeabi”。有人有过同样的经历吗?我真的不明白出了什么问题,嘿。到目前为止,我发现我的清单和开发人员控制台中列出的权限之间有一个区别。在开发者控制台中有“android.permission.READ\u EXTERNAL\u STORAGE”。以前没有这样的许可。你可以在我的舱单上看到,没有这样的许可。“android.permission.WRITE\u EXTERNAL\u STORAGE”中不包括“READ\u EXTERNAL\u STORAGE”吗?那我怎么才能知道为什么会有包括在内的许可呢?这可能是我的应用程序支持的设备比以前少的原因吗?我还应该说:我的应用程序大于50MB,但我使用的是扩展文件。我认为相机是一种非常常见的设备。Zenithink C93没有摄像头?Zenithink C93有前置摄像头(2mpx)。