我的 Android 应用程序请求我没有要求的位置权限 [重复]

Posted

技术标签:

【中文标题】我的 Android 应用程序请求我没有要求的位置权限 [重复]【英文标题】:My Android App Requests Location Permission I Didn't Ask For [duplicate] 【发布时间】:2015-10-24 14:40:45 【问题描述】:

在构建后查看最终清单,它包含两个我没有要求的额外权限。 WRITE_EXTERNAL_STORAGE 和 ACCESS_COURSE_LOCATION。

我正在运行 gradle 构建。我看到另一篇文章说要声明一个带有 minSdkVersion 的 uses-sdk 部分,但这并没有帮助。 这是我尝试过的:

<uses-sdk
    android:minSdkVersion="17"
    android:targetSdkVersion="21" />

我还查看了所有依赖项的清单,但没有看到任何可以添加它的内容。

com.crashlytics.sdk.android:crashlytics:2.5.0@aar
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:support-v13:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.google.android.gms:play-services:7.5.0'
compile 'com.google.android.gms:play-services-identity:7.5.0'
compile 'com.google.android.gms:play-services-analytics:7.5.0'
compile 'com.sababado.circularview:library:1.0.0'

权限从何而来?

【问题讨论】:

这个compile 'com.google.android.gms:play-services:7.5.0' 导入所有内容。去掉它。这已经被问过很多次了。 是的,这是重复的。谢谢你的链接。我搜索了一下,没有遇到这个。 【参考方案1】:

应用清单列出了您的应用所需的内容,即使您没有将其明确放在 您的清单文件中。事实上,最终的 Manifest 是您的 AndroidManifest.xml 和所有使用依赖项(通常通过 gradle 的 compile ... 引用)提供的清单合并的结果。

如果您想知道哪个依赖项对您的最终权限要求有所帮助,您可以查看清单合并报告文件(检查&lt;PROJECT&gt;\app\build\outputs\logs 文件夹并检查uses-permission#PERMISSION,即:

uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
ADDED from AndroidManifest.xml:11:5
MERGED from com.google.android.gms:play-services-maps:7.5.0:22:5

您可能还想查看以下博文:Hey, Where Did These Permissions Come From?

【讨论】:

【参考方案2】:

Google Play 服务可能已请求许可。如您所知,它会根据用户所在的位置和国家/地区显示用户数量。

【讨论】:

这不是谷歌分析。我刚刚恢复到添加库之前的状态,它仍然存在。 我编辑了答案。对不起上一个。

以上是关于我的 Android 应用程序请求我没有要求的位置权限 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

从服务访问android位置?

从服务 Android M 请求位置权限

位置的请求权限对话框不显示

Android,位置请求,设置过期时间不起作用

Android运行时权限对话框未显示

Android GPS 查询位置数据不正确