Firestore:库中的包引用无效

Posted

技术标签:

【中文标题】Firestore:库中的包引用无效【英文标题】:Firestore: Invalid package reference in library 【发布时间】:2018-10-14 00:23:28 【问题描述】:

更新到 com.google.firebase:firebase-firestore:16.0.0 后,我收到以下 lint 错误:

  Error: Invalid package reference in library; not included in android: javax.naming.directory. Referenced from io.grpc.internal.DnsNameResolver.JndiResolver. [InvalidPackage]
  Error: Invalid package reference in library; not included in Android: javax.naming. Referenced from io.grpc.internal.DnsNameResolver.JndiResolver. [InvalidPackage]

似乎grpc 依赖使lint 不开心。我该如何解决这个问题?

【问题讨论】:

看来@nicopicp 的答案是正确的,你能接受它是正确的吗? 【参考方案1】:

应该可以安全地忽略此错误。您可以使用此块将所有 InvalidPackage 错误降级为警告:

android 

    // ...

    lintOptions 
        warning 'InvalidPackage'
    

【讨论】:

为什么忽略它是安全的? 在哪里使用这个块??【参考方案2】:

您可以通过在lint.xml 文件中设置以下内容来消除此错误:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="InvalidPackage">
        <ignore path="*/io.grpc/grpc-core/*"/>
    </issue>
</lint>

lint.xml 应该在您的 应用程序 模块的根目录中。

与将错误降级为警告相比的优势在于,如果您稍后碰巧添加了一个确实包含无效包的依赖项,您仍然会收到错误。

【讨论】:

感谢您提供更具体的答案!同意这样更好。 看来答案是正确的,你能接受它是正确的@SamStern 吗? 你知道为什么会这样吗? 路径有点迷糊,为什么你有grpc-core,这个好像没有出现在错误中。 lint.xml 在哪里?我自己创造吗?它在哪里?

以上是关于Firestore:库中的包引用无效的主要内容,如果未能解决你的问题,请参考以下文章

SSL库中的Firebase Firestore后端失败,通常是协议错误错误:140740B5:SSL例程:SSL23_CLIENT_HELLO:无密码

使用python在Firestore中运行GeoPoint

如何在 Firestore 中一次创建/更新多个文档

pg_restore 重复键和无效命令错误

.NET 库中的 JWT 无效签名

类序列化导致外部库中的stackOverflowException