我的apk要求权限,但我在AndroidManifest.xml中没有请求这些权限。

3

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

./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

我相信以下三点不在我的要求之列:
  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
可能是 ChartBoost 需要这些权限。 - Vishwajit Palankar
那只是一个JAR文件。这可能需要额外的权限。 - Phantômaxx
2
MoPub 可能有自己的权限。 - james
就像我之前说的,我已经添加了MoPub一段时间了,但权限并不存在。ChartBoost是新的,但只是一个jar文件。MoPub模块在AndroidManifest.xml中没有权限,但我甚至不确定它们是否真的有用。 - casolorz
我想我找到解决方法了。我的所有Play服务gradle依赖项都是7+,而7.5刚刚发布。我将它们更改为7.3,问题就解决了。7.5一定会更改权限。 - casolorz
1个回答

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+' 后,它将立即要求使用这些新权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接