我在市场上列出了两个应用程序.其中一个是免费的演示应用程序,第二个是解锁第一个应用程序完整版本的第二个关键应用程序.我收到一个用户的报告,该演示安装在他们的华为上,但是市场将他们的应用程序列为“不兼容”.我还没有收到任何其他报告,也没有在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使用它来确定应用程序的过滤和其他事情是一回事.如果这些之间没有任何不同,那么问题不在于您如何构建应用程序.