質問: ### 前提・実現したいこと Unity Android ビルドで付与される READ_PHONE_STATEを消したい ### 発生している問題・エラーメッセージ Unity Android ビルドでREAD_PHONE_STATEが勝手に付与されてしまう ### 補足情報(言語/FW/ツール等のバージョンなど) Unity 5.6.3p4 Android studio 2.3.3
回答: ### Android SDK Toolsを最新バージョンにすると起こる問題のようです。 Android SDK Tools 26.0.2以上にするとAndroidManifest.xmlをマージする内容のチェックの厳しさが上がり、内容によって権限を勝手に追加するようです。 ``` ``` 本来であればminSdkVersionとtargetSdkVersionを追加する必要がありますUnityではPlayer settingで設定した内容が追加されます。ですがなぜかAndroid SDK Toolsでマージ後に追加されたような挙動になります。 ### なぜREAD_PHONE_STATEが付与されてしまうか? Intentを利用する際、READ_PHONE_STATEが必要なバージョンがあるようです。Player settingで設定したminSdkVersionとtargetSdkVersionがマージの段階では見えていないようなので下位互換を保つ為READ_PHONE_STATEが付与されてしまうようです。確かAndroid 1.6の対応だったと思います。 チケットも見つけましたが回収されてないようです。 [ANDROID] READ_PHONE_STATE PERMISSION IS ADDED IN THE ANDROIDMANIFEST.XML FILE USING LATEST (26.0.2) SDK ### READ_PHONE_STATEの削除方法 Androidに詳しくない為、とりあえずAndroid SDK Toolsを25.2.5にダウングレードして解決しました。できれば最新版を使いたいのですがしょうがないです。回収された後アップデートしたいと思います。 **Android SDK Toolsのダウグレード方法** **※ダウングレードする際は自己責任でお願いします。** 1 Android sdkのディレクトリに移動 /Users/ユーザー名/Library/Android/sdk ※パスは自分で設定した気がするので環境によって違うと思います。Unityで設定していればUnity->Prefarence->External Tools->Android SDK から確認できます。 2 toolsディレクトリを削除、またはデスクトップに移動 ※ 何かあればAndroid studioなら SDK Managerから最新版を再ダウンロードできます。 3 Android SDK Tools25.2.5をダウンロード ※ 配布ページからは旧バージョンをダウンロードする場所が見当たらなかったので強引にダウンロード 最新のAndroid SDK Toolsダウンロード先はこちらです。 4 Android SDK Tools25.2.5を配置 解凍するとtoolsというディレクトリができるので、それをそのまま1の消した先に配置