LoginSignup
9
3

More than 5 years have passed since last update.

UnityでAndroidをビルドしたときに勝手にREAD_PHONE_STATEが付与される

Last updated at Posted at 2017-12-15

背景

某SDKを導入したり、自分で書いたnative pluginを導入した際に、なぜかREAD_PHONE_STATE権限が付与されてしまってハマった。

要因

AndroidのBuildToolsが26.0.2以上でビルドした際に発生

原因

新しいBuildToolsでは、AndroidManifest.xmlが複数あったときにmergeする時の挙動が変わった.

minSdkVersionとtargetSdkVersionの両方の指定がないと勝手にREAD_PHONE_STATEなどの下位互換性を保つための権限が付与される。

この挙動自体は正しく、いままでよりAndroidManifestの指定が厳格になった感じらしい。

対処

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+  <uses-sdk android:targetSdkVersion="26" android:minSdkVersion="19" />
  <application>
  </application>
</manifest>

uses-sdkで各AndroidManifestにtargetSdkVersionとminSdkVersionを指定してあげることで回避した。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3