私はこの質問をするのをためらっています。なぜなら、多くの人が同様の問題を抱えているように見えますが、私の特定のインスタンスを解決する解決策を見つけられなかったからです。
私はAndroidアプリ(実際のアプリへのリンク)を開発し、それをPlayストアにアップロードしました。Playストアは言う
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
もちろんそれは私がアプリを開発した携帯電話なので、互換性があるはずです。他のデバイスを持っている人の中には互換性があると報告している人もいれば、互換性がないと報告している人もいますが、傾向はわかりません。(どうやら私はAndroidデバイスを持っている人をあまり知りません。)
私は以下を試しました:
この回答で
res/raw
提案されているように、大きなファイルをディレクトリから移動します。そこにある唯一のファイルは約700 kBのテキストファイルでしたが、assets/
明らかな変更を加えずにに移動しました。次の2つの機能アサーションを追加します。
<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(trout)」と「Touch Viva(opal)」を除いて、サポートされていることがわかります。実際、「Wildfire S(マーベル)」と「Wildfire S A515c(マーベル)」の両方がサポート対象としてリストに表示されていますが、「Wildfire S A510b」については特に言及していません。この種のサブモデル識別子はそれほど重要ですか?他のいくつかのアプリをGoogle Playからスマートフォンに問題なくダウンロードできました。
この時点で行っていない唯一のことは、最新バージョンをアップロードしてから4〜6時間待って(このコメントのように)、それがまだ私の電話と互換性がないと表示されているかどうかを確認することです。ただし、Playストアページには現在、アップロードした最新の1.0.2が表示されます。
handleSilentException
メソッドを使用してサイレントにレポートしました。少なくとも、アプリが動作しているハードウェアがわかります。