Mar*_*nis 6 android android-studio dagger-2
当我在Android Studio 2.2中启用Jack编译器时,不会生成Dagger 2组件.Dagger 2可以和杰克一起使用吗?如果是这样,我将如何配置我的应用程序?
从我的应用程序build.gradle:
jackOptions {
enabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
我沉思了两天就搞清楚了.所以我回过头来发布调查结果以防万一节省时间:
这是由于Jack中的一个错误导致类路径无法正常工作.它与Jack运行"进程内"(与gradle守护进程在同一个JVM中)有关.设置android.defaultConfig.jackOptions.jackInProcess为false确实超出了"前置条件"错误,但它会导致其他问题(2个占用系统资源的JVM)和以其他(更糟)方式破坏构建的错误.
目前,最好的解决方案似乎是:
编辑:更新1/14/2017:
我遇到了杰克的几个其他问题并且厌倦了它,我切换到retrolambda并踢了我自己没有做到这一点!现在,杰克似乎只会导致比解决更多的问题.只需添加带有加号的行并删除带有减号的行,然后您可以返回Dagger 2.8,同时等待杰克让它一起行动!
+plugins {
+ id "me.tatarka.retrolambda" version "3.4.0"
+}
apply plugin: 'com.android.application'
+apply plugin: 'me.tatarka.retrolambda'
- jackOptions {
- enabled true
- }
Run Code Online (Sandbox Code Playgroud)
对于更快的retrolambda构建,添加org.gradle.jvmargs=-Xmx4608M到您的gradle.properties文件,以便dexing可以在进程中发生.现在,我正在使用Dagger 2.8,我的干净版本只有12秒,GOOD RIDDANCE,JACK!
| 归档时间: |
|
| 查看次数: |
1674 次 |
| 最近记录: |