現在、アプリケーション マニフェストを改訂して、uses-feature
属性を明示的に使用してハードウェアおよびソフトウェア API へのすべての依存関係を宣言しています。
ユーザーがモバイル インターネットを使用していることを想定しているため、 に設定android.hardware.telephony
しましtrue
たが、アプリはエミュレーターにインストールできません。エラーメッセージは次のとおりです。
Failure [INSTALL_FAILED_MISSING_FEATURE]
デバイスのログにも追加情報はありませんが、試行錯誤の結果、テレフォニー機能が原因であることがわかりました。
エミュレーターはテレフォニー機能をサポートしているため (通話のディスパッチをシミュレートすることもできます)、なぜこれが壊れるのですか? また、テレフォニーをサポートしていないと正しく報告されたとしても、それがuses-feature
エミュレーターではなく実際のデバイスを対象としていたことは明らかではないでしょうか?
この属性については、Android マーケットのフィルタリング ルールにのみ影響することがドキュメンテーションで暗示されているように見えるため、一般的にこの属性についてはかなり混乱しています。アプリのインストール可能性に直接的な影響を与えることがどこに言及されているかわかりません。これはuses-feature
、ドキュメントが属性とする単なる宣言/情報の性質をはるかに超えているようです。
結局のところ、それを使用するのは良い考えではないでしょうか?エミュレーターへのインストールが常に失敗するようになったため、ビルド サーバーは実行されなくなりました...