当前位置: 首页 > 知识库问答 >
问题:

Gradle匕首皮棉:按包装忽略

贺浩壤
2023-03-14
dependencies {
    compile 'com.squareup.dagger:dagger-compiler:1.2.1'
    compile 'com.squareup.dagger:dagger:1.2.1'
}
InvalidPackage: Package not included in Android

.../...............................................................................不包括在Android中:javax.lang.model.util。引用自dagger.internal.codegen.GraphAnalysisErrorHandler。

../../../../../../..gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.3.0/4b290e394ea3109be5c0b7f08ff75de089125122/javawriter-2.3.0.jar:库中的包引用无效;不包括在Android:javax.lang.model.Element中。引用自com.squareup.javawriter.javawriter。

所以,我必须要么修复或让林特忽略匕首包。我已经设置了lint.xml,但我想不出一种忽略的方法:

 <issue id="InvalidPackage">
  <ignore ...INSERT DECLARATION TO IGNORE DAGGER PACKAGE... />
 </issue>

谢了。

共有1个答案

彭弘伟
2023-03-14

在这里找到了答案:https://android.googlesource.com/platform/tools/base/+/e6a5b9c7c1bca4da402de442315b5ff1ada819c7

在android部分添加build.gradle,lintOptions为我解决了这个问题:

android {
...

   lintOptions {
       disable 'InvalidPackage'
   }
}

在lint.xml中添加相同的ignore语句对我来说不起作用。

 类似资料:
  • 承认,匕首是强硬的,我正试图注射改型。我注入了Context和SharedPreferences,它工作得很好,但改型破坏了这一切。它可以识别DaggerRetrofitComponent类,但不能找到DaggerAppComponent。

  • 使用匕首编译器将Android Studio更新到0.4.0并将分级插件更新到0.7.1并将分级版本更新到1.9后出现奇怪的问题 build.gradle 生成时出现此错误 在APK META-INF/services/javax.annotation.processing中复制了重复文件。处理器文件1:C:\Users\Mantas.gradle\caches\modules-2\files-2

  • Dagger 2即将面世,但可用的示例甚至无法立即编译,文档是Dagger 1的复制粘贴替换。 有没有人有一个在谷歌的Dagger 2上运行的正确应用程序的例子?

  • 这很好,但是如果我使用全局组件甚至子组件中的一个模块,那么应该传入上下文。因此,这意味着如果我用匕首注入演示器,它将被绑定到ApplicationContext。这使得作为JUnit进行测试变得困难。Android代码不应该在演示器中。 所以我想问的是,最好的做法是只在活动、片段、广播接收器和服务中使用匕首吗?就mvp架构而言,这就是。另一个解决方案是设计另一个dagger组件,但不是与appco

  • 我找到了静态编程语言Lazy对象的答案,在这里使用:静态编程语言:检查Lazy val是否已初始化 但看起来像匕首。Lazy没有相同的公共方法。 这就是我如何懒洋洋地使用Dagger注射: 如何在不调用someService的情况下检查someService是否已初始化。get()哪个将初始化它?除了引入布尔标志并自己跟踪它之外。。 谢谢

  • 问题内容: 我可能错过了一些东西,但我认为像@Singleton这样的作用域用于定义“作用域生命周期”。 我在Android应用程序中使用了Dagger 2(但我认为问题根本与android相关)。 我有1个模块: 我有两个与范围不同的组件: 两者,并且,有一个构造函数。虽然MenuPresenter期望将其作为参数,但LoginPresenter却采用了: 但是每次我使用这些组件创建一个或时,都