我的apk要求我在AndroidManifest.xml上没有要求的权限

时间:2015-06-01 15:54:58

标签: android apk android-permissions

我刚注意到我的应用程序突然请求新的权限。

./aapt d permissions MyApk.apk 
package: mypackage
uses-permission: android.permission.INTERNET
uses-permission: android.permission.ACCESS_WIFI_STATE
uses-permission: android.permission.CHANGE_WIFI_MULTICAST_STATE
uses-permission: android.permission.ACCESS_NETWORK_STATE
uses-permission: com.android.vending.BILLING
uses-permission: android.permission.WRITE_EXTERNAL_STORAGE
uses-permission: com.android.launcher.permission.INSTALL_SHORTCUT
uses-permission: android.permission.GET_ACCOUNTS
uses-permission: android.permission.USE_CREDENTIALS
uses-permission: android.permission.ACCESS_COARSE_LOCATION
uses-permission: android.permission.READ_EXTERNAL_STORAGE

我相信这3个是我没有要求的东西:

  uses-permission: android.permission.GET_ACCOUNTS
  uses-permission: android.permission.USE_CREDENTIALS
  uses-permission: android.permission.ACCESS_COARSE_LOCATION

这些是我AndroidManifest.xml上的唯一权限

 <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

这是一款应用程序,我已经发布新版本,每月至少发布一次超过一年,这是第一次发生这种情况。

我最近切换到使用MoPub,但我没有更改我的权限,而且我在一个月前发布了该版本。我最近做的是添加ChartBoost jar文件,但这只是一个jar文件。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

我上周所有的Google Play服务依赖项都是7+和7.5,所以它必须要求新的权限,因为当我将它们更改为7.3时,它们都开始正常工作了。

7.3改变后:

uses-permission: android.permission.INTERNET
uses-permission: android.permission.ACCESS_WIFI_STATE
uses-permission: android.permission.CHANGE_WIFI_MULTICAST_STATE
uses-permission: android.permission.ACCESS_NETWORK_STATE
uses-permission: com.android.vending.BILLING
uses-permission: android.permission.WRITE_EXTERNAL_STORAGE
uses-permission: com.android.launcher.permission.INSTALL_SHORTCUT

这是我所做的改变:

compile 'com.google.android.gms:play-services-ads:7+'

要:

compile 'com.google.android.gms:play-services-ads:7.3+'

我对所有Google Play服务依赖项都这样做了,所以我不知道广告是否是唯一需要广告的广告,或者是否全部广告。

编辑:从我的测试开始,只要将compile 'com.google.android.gms:play-services-wallet:7.5+'添加到一个干净的项目,它就会开始要求这些新的权限。