【问题标题】:unrequested permissions not declared in androidmanifest--crashlytics maybe?未在 androidmanifest--crashlytics 中声明未请求的权限可能吗?
【发布时间】:2014-12-10 20:39:03
【问题描述】:

我刚刚注意到我的应用有新的权限请求,我没有在我的 AndroidManifest.xml 中明确声明。我没有在任何清单中看到这些声明 由 gradle 创建的“intermediates”目录,我声明的没有显式版本的唯一依赖项是 crashlytics(正如他们建议的那样),即:

编译'com.crashlytics.android:crashlytics:1.+'

在完整清单中发现的新权限是:

<android:uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="18" />
    <android:uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <android:uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="18" />

那么我的猜测是,无论新版本的 crashlytics 现在都在请求这个吗?

【问题讨论】:

    标签: android crashlytics


    【解决方案1】:

    如果您使用 Gradle 构建,您可以将以下内容添加到您的 AndroidManifest.xml 以移除权限:

        <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
    

    【讨论】:

    • 我的假设 Crashlytics 故意这样做是不正确的,请参阅@Mike 的回答。
    • 在我的例子中,罪魁祸首实际上是 AndroidPlot 没有指定 targetSdk,这导致构建工具自动包含 READ_PHONE_STATE 权限。
    • 我也一样。你是如何删除它的?使用工具的唯一方法是:节点删除吗?这是我的合并显示:android:uses-permission#android.permission.WRITE_EXTERNAL_STORAGE IMPLIED from AndroidManifest.xml:2:1 reason: com.androidplot has a targetSdkVersion &lt; 4 android:uses-permission#android.permission.READ_PHONE_STATE IMPLIED from AndroidManifest.xml:2:1 reason: com.androidplot has a targetSdkVersion &lt; 4 android:uses-permission#android.permission.READ_EXTERNAL_STORAGE IMPLIED from AndroidManifest.xml:2:1 reason: com.androidplot requested WRITE_EXTERNAL_STORAGE
    • 使用当前的构建工具,我发现删除此权限的唯一方法是使用 tools:node="remove" 显式指令:更改 AndroidPlot 中的 targetSdkVersion 只是将责任转移到下一个库,然后一个罐子(当然没有指定任何东西)。
    • 这行得通。很少有其他 stackoverflow 将其作为 提及,但它不起作用。
    【解决方案2】:

    Android Gradle 插件版本 1.0.0-rc1 中存在可能导致该行为发生的问题:https://code.google.com/p/android/issues/detail?id=81017

    1.0.0 版对此进行了修复。

    Crashlytics 只需要 INTERNET 权限即可发送崩溃报告。

    【讨论】:

    • 请注意,“修复”只是更好地记录了自动添加权限的原因(在 manifest-merger-*-report.txt 中)。如果您想强制关闭权限,请参阅下面的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 2019-08-01
    • 1970-01-01
    • 2016-12-14
    • 2015-07-24
    • 2016-11-12
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多