[解決済み] Google Playストアで、私のAndroidアプリは私の端末と互換性がないと表示されるのはなぜですか?
質問
この質問をするのをためらっているのは、あたかも 多くの人が同じような問題を抱えている のようですが、私の特定のインスタンスを解決する解決策は見つかっていません。
私は 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 ストアの "Device Availability" のセクションでは、Wildfire S を含むすべての HTC デバイスが、"G1 (trout)" と "Touch Viva (opal)" を除いてサポートされていることが確認できます(これらが何であれ)。実は、quot;Wildfire S (marvel)" と "Wildfire S A515c (marvelc)" はサポート対象として記載されていますが、私の "Wildfire S A510b" は特に記載されていないようなのですが、どうなんでしょう?このようなサブモデルの識別はそんなに重要なことなのでしょうか?私は、Google Play から私の携帯電話に他のいくつかのアプリを問題なくダウンロードすることができました。
唯一、私が は
のように)最新版をアップロードしてから 4 ~ 6 時間待つことです。 このコメント のように)、まだ私の携帯電話と互換性がないと言っているかどうかを確認することです。しかし、Play ストアのページには、現在私がアップロードした最新の 1.0.2 が表示されています。どのように解決するのですか?
答えは、アプリケーションのサイズにのみ関連しているようです。マニフェスト ファイルに特別なものは何もないシンプルな "hello world" アプリを作成し、Play ストアにアップロードしたところ、私のデバイスと互換性があると報告されました。
マニフェスト ファイルにコンテンツを追加した以外は、このアプリで何も変更しませんでした。
res/drawable
ディレクトリにコンテンツを追加した以外は、何も変更していません。このとき
.apk
のサイズが約 32 MB に達したとき、Play ストアは私のアプリが私の電話機と互換性がないという報告を開始しました。
Google の開発者サポートに連絡して、この制限の理由を明確にするよう依頼するつもりです。
アップデイト : Google開発者サポートの回答はこちらです。
ご指摘ありがとうございます。現在、Google Play へのアプリのアップロードの最大ファイルサイズ制限は、約 50 MB です。
しかし、一部のデバイスでは、キャッシュ パーティションが 50 MB より小さく、ユーザーがアプリをダウンロードできない場合があります。たとえば、HTC Wildfire デバイスの一部は、35 ~ 40 MB のキャッシュ パーティションを持っていることが知られています。Google Play が、アプリを格納するのに十分な大きさのキャッシュを持たないそのようなデバイスを識別できた場合、ユーザーに対してアプリを表示しないようにフィルタリングすることがあります。
私は結局、品質を少し落として、すべての PNG ファイルを JPG に変換することによって問題を解決しました。その
.apk
ファイルは 28 MB になり、私の携帯電話で Google Play が強制している閾値を下回りました。
また、すべての
<uses-feature>
をすべて削除し、今はこれだけです。
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
関連
-
[解決済み] AndroidアプリケーションからGoogle Playストアを直接開くにはどうすればよいですか?
-
[解決済み】Google Playアプリの説明文のフォーマットについて
-
[解決済み】携帯電話のGoogle Playストアアプリで「このアプリを評価する」リンクが表示されるようになりました。
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] 深くネストされたスタックから離れるとき、Fragmentのバックスタックをクリーンアップする方法はこれで良いのでしょうか?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] キャンバスに複数行のテキストを描画する
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?