FirebaseAnalytics.getInstance 显示警告但编译成功

Posted

技术标签:

【中文标题】FirebaseAnalytics.getInstance 显示警告但编译成功【英文标题】:FirebaseAnalytics.getInstance showing warning but compiles successfully 【发布时间】:2017-03-22 03:12:31 【问题描述】:

当我编写像 FirebaseAnalytics.getInstance() 这样的关于 firebase 分析的代码时,我收到一条警告消息:

缺少 FirebaseAnalytics.getInstance 所需的权限:android.permission.ACCESS_NETWORK_STATE 和 android.permission.WAKE_LOCK

截图如下:

我没有通过谷歌搜索找到任何关于此的信息。

我还尝试清理和重建我的项目。重启安卓工作室。没有任何效果。

有什么问题?

编辑:权限在那里。我可以在合并的清单中看到那些。但是还是报错。

【问题讨论】:

您可以忽略警告。 ACCESS_NETWORK_STATEWAKE_LOCK 是普通权限,不需要在运行时询问。 Docs @AnkurJain 但它们应该在清单文件中。否则这将无法按预期工作 是的,您需要在Manifest中添加这些权限。 @AnkurJain 应该通过 manifest 合并来合并。它们应该在分析 sdk 中。我不知道它的 Android Studio 问题或清单合并或 sdk @qbix 感谢您的帮助:) 但是,在我通过 gradle.properties 文件修改后它突然消失了。就好像我什么都没做,突然红色下划线消失了!终于! 【参考方案1】:

添加

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

到您的清单文件

Android Studio 不会查看导入的 lib 的清单。这只是一个IDE错误。您可以禁用检查

【讨论】:

我可以在合并的清单文件中看到这些。我还可以看到这两个权限是由 firebase-analytics:9.8.0 manifest 注入的 用截图更新问题 AndroidStudio 不会查看导入的 lib 的清单。这只是一个IDE错误。您可以禁用检查

以上是关于FirebaseAnalytics.getInstance 显示警告但编译成功的主要内容,如果未能解决你的问题,请参考以下文章