【发布时间】:2018-12-31 18:59:12
【问题描述】:
最近在将我的应用上传到 Google Play 时,出现了一条警告说已添加新权限:
我不需要这些权限。我发现它们可能来自我正在使用的库,所以我从我的AndroidManifest.xml 中删除了所有<uses-permission> 来测试它。
1.合并清单报告
我检查了/app/build/outputs/logs/manifest-merger-debug-report.txt 中的合并清单报告,它显示以下权限正在被各种库添加:
uses-permission#android.permission.INTERNET
uses-permission#android.permission.ACCESS_NETWORK_STATE
uses-permission#android.permission.WAKE_LOCK
uses-permission#com.google.android.c2dm.permission.RECEIVE
permission#com.pressbible.view.permission.C2D_MESSAGE
uses-permission#com.pressbible.view.permission.C2D_MESSAGE
这些看起来不错,但它没有解释 ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATION 和 CHANGE_WIFI_STATE 的来源。
2。最终清单
一大堆权限出现在/app/build/intermediates/manifests/full/debug/AndroidManifest.xml中合并的构建清单的底部
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
我的清单中没有这些,它们也不在清单报告中。
3.删除尝试
尝试添加行
<uses-permission android:name=”android.permission.[permision-name]” tools:node=”remove” />
对于每个权限都没有删除它们。
4.合并清单视图
我还按照 Android 文档的建议使用了Merged Manifest View,除了merger-debug-report.txt 中报告的权限之外,没有发现任何额外的权限
我尝试从其他库中搜索清单文件,但没有找到。我还尝试了使无效并重新启动,重新启动计算机并删除所有构建文件。神秘的权限仍然出现在合并的 AndroidManifest.xml 中。
我如何才能找到这些权限的来源?
如何删除它们?
相关问题:
Disable Dependency Library permission
How to remove specific permission when build Android app with gradle?
Why does removing permission from AndroidManifest.xml not work?
【问题讨论】:
标签: java android android-permissions