<分区>
我通过gradlew assembleRelease
制作了APK。我的 APK 需要下一个权限:
> aapt d permissions app-release.apk
package: <my-package>
permission: <my-package>.permission.C2D_MESSAGE
uses-permission: name='<my-package>.permission.C2D_MESSAGE'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission: name='android.permission.RECEIVE_SMS'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE' maxSdkVersion='18'
uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
但是当我将该 apk 上传到 Google Play 时,我获得了以下权限:
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET
android.permission.READ_EXTERNAL_STORAGE
android.permission.RECEIVE_SMS
android.permission.WAKE_LOCK
android.permission.WRITE_EXTERNAL_STORAGE maxSdkVersion=18
<my-package>.permission.C2D_MESSAGE
com.google.android.c2dm.permission.RECEIVE
因此,当我尝试通过 Google Play 更新我的应用时,它需要额外的权限(之前的版本不需要 android.permission.READ_EXTERNAL_STORAGE)。但是,如果我在设备本身上打开相同的 apk,则不需要许可。
也许,我真的需要这个权限,但我的 apk 不包含它(并且应该在运行时崩溃)。那么,为什么 Google 添加它以及我如何避免它?