我很犹豫地问这个问题,因为似乎很多人都遇到了类似的问题,但是我没有找到能够解决我的特定情况的解决方案。
我开发了一个Android应用程序(链接到实际应用程序),并将其上传到Play商店。Play商店说
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
当然,这就是我开发应用程序的手机,因此它应该兼容。有些使用其他设备的人说它报告兼容,而其他人则说它不兼容,但是我找不到趋势。(显然,我对使用Android设备的人知之甚少。)
我尝试了以下方法:
res/raw
按照此答案的建议将大文件移出目录。唯一的文件是一个约700 kB的文本文件,但我将其移至assets/
没有明显变化的地方。添加以下两个功能断言:
<uses-feature android:name="android.hardware.faketouch" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
认为我的手机可能并不声称支持通常的
android.hardware.touchscreen
功能,但又没有明显变化。
将APK上传到Play商店时,该android.hardware.faketouch
功能报告为唯一处于活动状态的过滤器。
以下是输出aapt dump badging bin/NZSLDict-release.apk
:
package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary' label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'
为了完整性,我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hewgill.android.nzsldict"
android:versionCode="3"
android:versionName="1.0.2">
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
<uses-feature android:name="android.hardware.faketouch" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<application android:label="@string/app_name"
android:icon="@drawable/icon">
<activity android:name="NZSLDictionary"
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=".WordActivity" />
<activity android:name=".VideoActivity" />
<activity android:name=".AboutActivity" />
</application>
</manifest>
在Play商店的“设备可用性”部分中,我可以看到除“ G1(鳟鱼)”和“ Touch Viva(蛋白石)”之外的所有HTC设备(包括Wildfire S)均受支持。实际上,我看到“ Wildfire S(奇迹)”和“ Wildfire S A515c(奇迹)”都被列为受支持,但我的“ Wildfire S A510b”并未特别提及。这样的子模型标识符可以这么重要吗?我已经可以从Google Play将其他几个应用程序下载到我的手机中,而没有任何问题。
目前,我唯一没有做的就是在上传最新版本后等待4到6个小时(如此评论中所示),以查看它是否仍与我的手机不兼容。但是,Play商店页面当前显示1.0.2,这是我上传的最新版本。
handleSilentException
方法进行静默报告。它至少会告诉您应用程序在使用哪种硬件。