Bu soruyu sormakta tereddüt ediyorum, çünkü birçok insanın benzer bir sorunu varmış gibi görünüyor ve yine de benim özel durumumu çözen bir çözüm bulamadım.
Bir Android uygulaması geliştirdim ( gerçek uygulamaya bağlantı ) ve bunu Play Store'a yükledim. Play Store diyor ki
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
Tabii ki uygulamayı geliştirdiğim telefon bu, bu yüzden uyumlu olması gerekiyor . Diğer cihazlara sahip bazı kişiler bunun uyumlu olduğunu bildirdiğini söylerken, diğerleri uyumsuz olduğunu bildirdiğini söylüyor, ancak hiçbir eğilim bulamıyorum. (Görünüşe göre Android cihazları olan pek fazla kişiyi tanımıyorum.)
Aşağıdakileri denedim:
bu cevapta
res/raw
önerildiği gibi büyük ish bir dosyayı dizinin dışına taşımak . İçindeki tek dosya ~ 700 kB'lık bir metin dosyasıydı, ancak onu görünürde bir değişiklik olmadan taşıdım .assets/
aşağıdaki iki özellik iddiasını eklemek:
<uses-feature android:name="android.hardware.faketouch" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
Belki telefonumun olağan
android.hardware.touchscreen
özelliği desteklediğini iddia etmediğini , ancak yine de görünürde bir değişiklik olmadığını düşünüyorum.
APK'yi Play Store'a yüklerken, aktif olarak bildirdiği tek filtre android.hardware.faketouch
özelliktir.
Aşağıdakilerin çıktısı 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'
ve eksiksizlik için bildirim dosyam:
<?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 mağazasının "Cihaz Kullanılabilirliği" bölümünde, Wildfire S dahil tüm HTC cihazlarının "G1 (alabalık)" ve "Touch Viva (opal)" dışında desteklendiğini görebiliyorum. Aslında hem "Wildfire S (marvel)" hem de "Wildfire S A515c (marvelc)" destekli olarak listelendiğini görüyorum, ancak benim "Wildfire S A510b" özel olarak belirtilmiyor. Bu tür bir alt model tanımlayıcı bu kadar önemli olabilir mi? Google Play'den telefonuma birçok başka uygulamayı sorunsuz bir şekilde indirebildim.
Ben tek şey değil bu aşamada yapılır (olduğu gibi son sürümünü yükledikten sonra 4-6 saat beklemek Bu yoruma hala benim telefon ile uyumsuz olduğunu söylüyor olup olmadığını görmek için). Ancak Play Store sayfası şu anda en son yüklediğim 1.0.2'yi gösteriyor.
handleSilentException
sessizce rapor vermek için yöntemi kullanıyorum . En azından uygulamanın hangi donanım üzerinde çalıştığını size söyleyecektir.