###前提・実現したいこと
Unity Android ビルドで付与される READ_PHONE_STATEを消したい
###発生している問題・エラーメッセージ
Unity Android ビルドでREAD_PHONE_STATEが勝手に付与されてしまう
###補足情報(言語/FW/ツール等のバージョンなど)
Unity 5.6.3p4
Android studio 2.3.3
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
回答1件
2
自己解決
###Android SDK Toolsを最新バージョンにすると起こる問題のようです。
Android SDK Tools 26.0.2以上にするとAndroidManifest.xmlをマージする内容のチェックの厳しさが上がり、内容によって権限を勝手に追加するようです。
xml
1<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="24" />
本来であれば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
https://issuetracker.unity3d.com/issues/android-read-phone-state-permission-is-added-in-the-androidmanifest-dot-xml-file-using-latest-26-dot-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をダウンロード
https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip
※ 配布ページからは旧バージョンをダウンロードする場所が見当たらなかったので強引にダウンロード
最新のAndroid SDK Toolsダウンロード先はこちらです。
https://developer.android.com/studio/index.html?hl=ja
4 Android SDK Tools25.2.5を配置
解凍するとtoolsというディレクトリができるので、それをそのまま1の消した先に配置
投稿2017/10/08 06:03
編集2017/10/08 09:04総合スコア1724
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
同じタグがついた質問を見る
Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。
Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。
Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。