APIAmazonアプリストアに関するフォーラムAndroidマニフェストとデバイスフィルタリングに関するトラブルシューティング﻿Androidマニフェストとデバイスフィルタリングに関するトラブルシューティングAmazonアプリストアでは、アプリのマニフェストを使用して、アプリと互換性があるFireデバイスを特定します。[APKファイル]([バイナリ])タブにそれが示されます。ここに記載されているトラブルシューティング情報を活用して、デバイスサポートに関連するエラーメッセージを理解してください。APKの更新を計画している場合は、現在のデバイスサポートを維持するために、マニフェストの互換性の問題を解決する必要があります。互換性の問題が解決されない場合、アプリは指定したデバイスで利用できません。この記事では、互換性の問題を示すメッセージと、考えられる解決策について説明します。Amazonアプリストアのマニフェストに関する詳細については、次のトピックを参照してください。デバイスフィルタリングと互換性サポートされているマニフェストフィルターAPKのアップロード手順の中のトラブルシューティングセクションもご覧ください。エラーメッセージの表示android.hardware.touchscreenandroid.hardware.locationandroid.hardwareとandroid.softwareandroid.minSdkVersionとandroid.maxSdkVersionsupports-screensscreenSizeとscreenDensityandroid.glEsVersionsupports-gl-textureエラーメッセージの表示[APKファイル]([バイナリファイル])タブでAmazonアプリストアにAPKをアップロードします。リンクをクリックすると、APKが特定のデバイスにサポートされているかどうかを確認できます。サポートされていなければ、デバイスの横に「X」が表示されるか、灰色で表示されます。情報ツールチップにマウスを合わせると、その理由が表示されます。以下の例をご覧ください。'15'というエラーメッセージが表示されています。これは、APKではAPIレベル22以上を要件としていますが、デバイスはAPIレベル15までしかサポートしていないということです。したがって、APKをデバイスにインストール/サポートすることができません。次のセクションで、よくあるエラーとその解決方法を説明します。APKに必須と見なされます。TVなど)とは互換性がないことを示します。タッチスクリーン非対応のデバイスでアプリを使用できるようにするには、マニフェストに次のエレメントを追加して、タッチスクリーンが必須でないことを明記する必要があります。/>android.hardware.locationエラー:android.hardware.locationマニフェストにACCESS_FINE_LOCATIONのパーミッションが含まれている場合、次の2つの暗黙の機能がマニフェストに追加されます。android.hardware.location.gps暗黙の機能は必須であるため、APKはその機能を持たないデバイスとは互換性がないと見なされます。それらのデバイスに互換性を持たせるには、暗黙の機能をマニフェストに明示的に含める必要があります。そのためには、android:required属性をfalseに設定します。/>詳細については、暗黙の機能を参照してください。android.hardwareとandroid.softwareエラー:android.hardware._featureまたはandroid.software._featureこれらのメッセージは、ターゲットデバイスにサポートされていない機能に対してマニフェストで<uses-feature>または<uses-permission>のどちらかの要素が含まれていることを示します。マニフェストの一部の機能は、1つ以上のハードウェア機能がAPKに必須であることを暗黙的に示します。詳細については、暗黙の機能を参照してください。この警告が表示されるデバイスでアプリを利用できるようにするには、次のいずれかを実行します。問題の機能がAPKで実際に使用されていない場合、マニフェストから<uses-feature>または<uses-permission>要素を削除します。問題の機能はAPKで使用されているが、必須ではない場合(例:アプリが機能をテストし、存在しない場合は関連する機能を削除する)、<uses-feature>要素を追加または調整して、android:required="false"属性を含めます。問題の機能がアプリに必須の場合、デバイスを確実に指定するには、その機能のないデバイスでアプリが適切に機能を無効化するように、コードを変更する必要があります。変更をテストしたら、マニフェストを編集して、android:required="false"を適切な<uses-feature>要素に含めます。機能の検出については、AndroidドキュメントのgetSystemAvailableFeaturesを参照してください。APIレベルが含まれないことを示します。APIの範囲を調整してレベル("Y")を含めます。TVデバイスの仕様を参照してください。"width")このメッセージは、画面サイズや<supported-screens>​要素に定義されている最小幅と、デバイスによってサポートされている画面サイズ/最小幅の間に重複がないことを示します。<compatible-screens>で説明されているように、Amazonアプリストアによってデバイスがフィルタリングされます。デバイスを指定するには、"size"および"width"の記述に従って画面のサポートを追加し、それに応じてマニフェストを更新します。"density"このメッセージは、<compatible-screens>で指定された<screen>要素と、デバイスによってサポートされている要素間に重複がないことを示します。[<compatible-screens>](http://developer.android.com/guide/topics/manifest/supports-screens-element.html)のAndroidの仕様で説明されているように、Amazonアプリストアによってデバイスがフィルタリングされます。デバイスを指定するには、"size"および"density"の記述に従って画面のサポートを追加し、マニフェストを適切に更新します。<compatible-screens>の使用は推奨されません。この要素によって、アプリに対応するデバイスの数が大幅に減ることがあります。指定されていない画面設定のデバイスはすべてターゲットから除外すされます。この要素は、特定の画面サイズ/密度設定でアプリがまったく動作しないときに、最終手段として使用するだけにしてください。ESバージョンをAPKが指定していることを示します。ESバージョンの参考資料を調べて、マニフェストを適切に更新します。manifestこのメッセージは、マニフェストで指定されたOpenGLテクスチャ圧縮フォーマットと、ターゲットデバイスによってサポートされているOpenGLテクスチャ圧縮形式の間に重複がないことを示します。サポートされているテクスチャ圧縮フォーマットの詳細については、<supports-gl-texture>に記載されています。デバイスを指定するには、互換性のあるテクスチャ形式のサポートを追加し、マニフェストを適切に更新します。マニフェストとデバイスの仕様で、OpenGLテクスチャフォーマットの大文字表記やスペルを照合します。無断複写·転載を禁じます。