我在市场上列出了两个应用程序.其中一个是免费的演示应用程序,第二个是解锁第一个应用程序完整版本的第二个关键应用程序.我收到一个用户的报告,该演示安装在他们的华为上,但是市场将他们的应用程序列为“不兼容”.我还没有收到任何其他报告,也没有在Google上找到任何有用的信息.下面是两个清单xmls,首先是演示应用程序,第二个是关键应用程序.这可能是由检查许可证权限引起的吗?在
Android市场开发者控制台中,“支持的设备”部分对于两个应用程序完全相同:
Supported Devices [Learn More] This
application is only available to
devices with these features,as
defined in your application manifest.Screen layouts: SMALL norMAL LARGE
XLARGErequired device features
android.hardware.touchscreen
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="..."
android:versionCode="3"
android:versionName="1.1">
<application ...>
</application>
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=...
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7"/>
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<application ...
</application>
</manifest>
解决方法
要做的一件事是从Market下载这两个应用程序,将它们从设备中取出(使用“adb pull”),然后在每个应用程序上使用“aapt dump badging”.这会打印出应用程序的“徽章”信息; Market使用它来确定应用程序的过滤和其他事情是一回事.如果这些之间没有任何不同,那么问题不在于您如何构建应用程序.