ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

備忘録 : android.hardware.camera2問題 : この端末モデルはアプリの APK マニフェストでサポートされていないため、この端末モデルのユーザーはアプリをインストールできません。 (その2)

前回の記事に対してコメントをいただきました。それを踏まえましてテストしたところ、対応機種問題が少し解決したのでご報告。

前回の記事は以下です。
blog.gelehrte.com

2018/04/22追記
コメントを受けて、少し修正しました。こちらもご参考にしていただけると嬉しいです。
blog.gelehrte.com


AndroidManifest.xml の変更点

修正前

一部抜粋

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-feature android:name="android.hardware.camera"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>

Camera2のAPIを使ってながら、camera に対しての機能を提供していると表示していました。

修正後

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera2.full" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>

cameraとcamera2.fullに対してandroid:required="false"付与しました。両方の機能を提供すると表明して、内部でCameraAPIを使うかCamera2APIを使うかを判断するという方法っぽいですね。
2018/04/17追記
android.hardware.cameraにはandroid:required="false"は不要のようです。詳細は後日ブログにて弁明させてください。

個人的にはベストプラクティスでは無いと思うのですが、確かにこの方法しかなさそう。

AndroidMarketでの対応機種変更を確認

対応機種が0台にならず、機能提供できているようですね。安心。
f:id:gelehrtecrest:20180301163937p:plain

コメント提供者への謝辞

コメント提供者の話によると、この方法はGoogleのサポートにアドバイスによるものだそうです。ちゃんとサポートに連絡するのがいいですね。私はサポートに聞かずにうだうだと試して時間を労してしまいました。貴重な助言でした。ありがとうございます。

終わりに

あえて言うなら、AndroidMarket/Google Play DeveloperのサイトUI上で、機能提供デバイスが0台になっている原因を教えて欲しいですよね・・・難しい話なのでしょうけど。


今回はここまで
それではー


広告