LoginSignup
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を指定してあげることで回避した。

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
What you can do with signing up
3