많은 사람들이 비슷한 문제를 가지고있는 것처럼 보이지만 특정 사례를 해결하는 해결책을 찾지 못한 것 같아서이 질문을하는 것이 주저 합니다.
Android 앱 ( 실제 앱 링크)을 개발 하여 Play 스토어에 업로드했습니다. Play 스토어에 따르면
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
물론 그것이 제가 앱을 개발 한 전화기이므로 호환 되어야 합니다. 다른 기기를 사용하는 사람들은 호환된다고 말하고 다른 사람들은 호환되지 않는다고 말하지만 추세를 찾을 수 없습니다. (분명히 저는 Android 기기를 사용하는 사람을 많이 알지 못합니다.)
나는 다음을 시도했다 :
이 답변에서
res/raw
제안한대로 디렉토리 에서 큰 파일을 이동합니다 . 거기에있는 유일한 파일은 ~ 700kB 텍스트 파일 이었지만 명백한 변경없이 파일을 옮겼습니다 .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 스토어의 '기기 가용성'섹션에서 Wildfire S를 포함한 모든 HTC 기기가 지원되는 것을 확인할 수 있습니다. 'G1 (송어)'및 'Touch Viva (opal)'를 제외한 모든 기기가 지원됩니다. 실제로 "Wildfire S (marvel)"와 "Wildfire S A515c (marvelc)"가 모두 지원되는 것으로 표시되어 있지만 "Wildfire S A510b"는 구체적으로 언급되지 않았습니다. 이런 종류의 하위 모델 식별자가 그렇게 중요 할 수 있습니까? Google Play에서 다른 여러 앱을 문제없이 내 휴대 전화로 다운로드 할 수있었습니다.
이 시점에서 내가 하지 않은 유일한 일은 최신 버전을 업로드 한 후 ( 이 댓글 에서와 같이) 4 ~ 6 시간을 기다려 내 휴대 전화와 여전히 호환되지 않는지 확인하는 것입니다. 그러나 현재 Play 스토어 페이지에는 내가 업로드 한 최신 버전 인 1.0.2가 표시됩니다.
handleSilentException
방법을 사용하여 조용히보고합니다. 적어도 앱이 어떤 하드웨어에서 작동하는지 알려줄 것입니다.