我的 Android 应用突然需要 AndroidManifest.xml 中未设置的权限。为什么?
My Android app suddenly requires permissions not set in AndroidManifest.xml. Why?
我有一个应用程序,在过去几年里只做了很小的改动。昨天我发布了 Google Play 的错误修正,发现我的应用突然需要 5 个新权限:
- android.permission.ACCESS_COARSE_LOCATION
- android.permission.GET_ACCOUNTS
- android.permission.READ_EXTERNAL_STORAGE maxSdkVersion=18
- android.permission.USE_CREDENTIALS
- android.permission.WRITE_EXTERNAL_STORAGE
我没有对 AndroidManifest.xml 进行任何更改,因此这 5 个权限未在此处列出。
我正在使用 Google 的计费库 (com.android.billing) 进行应用内购买。这可能已由 Android Studio 自动更新。
我也升级了这些库:
- com.android.support:appcompat-v7:22.1.1 -> 22.2.0
- com.android.support:support-v4:22.1.1 -> 22.2.0
- com.google.android.gms:播放服务:7.3.0 -> 7.5.0
有人知道为什么会这样吗?
更新答案
@ahmad-nawaz 是对的,他的回答让我明白了这一点。这是对我的问题的更详细的回答:
需要额外权限的库是 Google Play Services.
在 Google Play Services 6.5 及更高版本中,您可以(并且可能应该)定义您需要的特定 API,而不是仅仅导入整个包。
就我而言,我只是在使用 play-services-analytics,所以我在 build.gradle
中进行了更改
compile 'com.google.android.gms:play-services:7.5.0'
至此
compile 'com.google.android.gms:play-services-analytics:7.5.0'
改完后原问题中提到的5个权限全部消失
这是 Google Play 服务的 API 个人的完整列表:https://developers.google.com/android/guides/setup#split
这些来自您使用的库。 Android 工作室将库权限合并到应用程序中。
我有一个应用程序,在过去几年里只做了很小的改动。昨天我发布了 Google Play 的错误修正,发现我的应用突然需要 5 个新权限:
- android.permission.ACCESS_COARSE_LOCATION
- android.permission.GET_ACCOUNTS
- android.permission.READ_EXTERNAL_STORAGE maxSdkVersion=18
- android.permission.USE_CREDENTIALS
- android.permission.WRITE_EXTERNAL_STORAGE
我没有对 AndroidManifest.xml 进行任何更改,因此这 5 个权限未在此处列出。
我正在使用 Google 的计费库 (com.android.billing) 进行应用内购买。这可能已由 Android Studio 自动更新。
我也升级了这些库:
- com.android.support:appcompat-v7:22.1.1 -> 22.2.0
- com.android.support:support-v4:22.1.1 -> 22.2.0
- com.google.android.gms:播放服务:7.3.0 -> 7.5.0
有人知道为什么会这样吗?
更新答案
@ahmad-nawaz 是对的,他的回答让我明白了这一点。这是对我的问题的更详细的回答:
需要额外权限的库是 Google Play Services.
在 Google Play Services 6.5 及更高版本中,您可以(并且可能应该)定义您需要的特定 API,而不是仅仅导入整个包。
就我而言,我只是在使用 play-services-analytics,所以我在 build.gradle
中进行了更改compile 'com.google.android.gms:play-services:7.5.0'
至此
compile 'com.google.android.gms:play-services-analytics:7.5.0'
改完后原问题中提到的5个权限全部消失
这是 Google Play 服务的 API 个人的完整列表:https://developers.google.com/android/guides/setup#split
这些来自您使用的库。 Android 工作室将库权限合并到应用程序中。