使用匕首编译器将Android Studio更新到0.4.0并将分级插件更新到0.7.1并将分级版本更新到1.9后出现奇怪的问题
build.gradle
android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile 'com.android.support:support-v4:+'
compile 'com.android.support:support-v13:19.0.+'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.squareup.dagger:dagger:1.2.0'
compile 'com.squareup.dagger:dagger-compiler:1.2.0'
}
生成时出现此错误
Execution failed for task ':MyApplication:packageDebug'.
在APK META-INF/services/javax.annotation.processing中复制了重复文件。处理器文件1:C:\Users\Mantas.gradle\caches\modules-2\files-2.1\com.squareup.dagger\dagger编译器\1.2.0\22633bb84433e03d345a83e7b0c08c66768be30\dagge-compiler-1.2-0.jar文件2:C:\Users\Mantas.gradle\caches\module-2\File-2.2\com.squareup.dagger\dagger编译器\1.2.0\22633 BB84433 E03D345A 83E7B08C66768Be30\danger-compile器-1.2.0.jar
如果匕首编译器行被注释,一切正常
我该如何解决这个问题?谢谢
已编辑已修复问题,检查 https://plus.google.com/ 雨果维瑟/帖子/7Wr3
如果您知道哪些文件正在重复,则始终可以编译它们,但有以下例外情况:
dependencies {
compile('com.squareup.dagger:dagger:1.2.0') {
exclude module: 'moduleName' //by artifact name
exclude group: 'groupName' //by group
exclude group: 'com.unwanted', module: 'moduleName' //or by both
}
compile 'com.squareup.dagger:dagger-compiler:1.2.0'
}
请确保在执行此操作时将依赖项包含在()
中以使用外壳,否则它将不起作用。
我正在mac上使用终端。我做了“vim hello_worldd”。它为我创造了一个写代码的地方。 但我不知道如何退出并运行它。有这样做的命令吗?
基于本教程使用Dagger Hilt添加子组件需要 这就是如何创建子组件 我的问题是如何实现 因为它没有显示它是如何提供给UserManager类的 我正在尝试创建一个AppComponent来测试子组件如何与Dagger Hilt一起工作 并在应用中 我应该如何在中创建构建器,创建实现Provider的匿名类不正确吗?
Dagger 2即将面世,但可用的示例甚至无法立即编译,文档是Dagger 1的复制粘贴替换。 有没有人有一个在谷歌的Dagger 2上运行的正确应用程序的例子?
我测试了标准的hello。java和你好。运行在Ubuntu12.04服务器上的gwan服务器附带的c。G-WAN 4.3.1 64位(2013年3月1日17:36:39) 一旦我和关一起 sudo./gwan-d 我还注意到在没有daemon选项的情况下也有同样的行为。 然后浏览到192.168.0.2:8080 /?hello.c我得到预期的输出“你好,ANSI C!我更改了hello.c中的
这很好,但是如果我使用全局组件甚至子组件中的一个模块,那么应该传入上下文。因此,这意味着如果我用匕首注入演示器,它将被绑定到ApplicationContext。这使得作为JUnit进行测试变得困难。Android代码不应该在演示器中。 所以我想问的是,最好的做法是只在活动、片段、广播接收器和服务中使用匕首吗?就mvp架构而言,这就是。另一个解决方案是设计另一个dagger组件,但不是与appco
我找到了静态编程语言Lazy对象的答案,在这里使用:静态编程语言:检查Lazy val是否已初始化 但看起来像匕首。Lazy没有相同的公共方法。 这就是我如何懒洋洋地使用Dagger注射: 如何在不调用someService的情况下检查someService是否已初始化。get()哪个将初始化它?除了引入布尔标志并自己跟踪它之外。。 谢谢