从我的应用程序的build.gradle:
jackOptions { enabled true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
解决方法
这是由bug in Jack that prevents classpaths from working properly引起的.它与Jack运行“进程内”(与gradle守护进程在同一个JVM中)有关.将android.defaultConfig.jackOptions.jackInProcess设置为false确实超出了“Preconditions”错误,但它会导致其他问题(2个占用系统资源的JVM)& bugs以其他(worse)方式打破构建.
目前,最好的解决方案似乎是:
>等待Android gradle插件的2.3版本,该插件已经有了解决方案.
>与此同时,将Dagger降级为2.2.
这是最高版本,似乎避免了与杰克的番石榴冲突.
编辑:更新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 - }
对于更快的retrolambda构建,将org.gradle.jvmargs = -Xmx4608M添加到gradle.properties文件中,以便dexing可以在进程中发生.现在,我正在使用Dagger 2.8,我的干净版本只有12秒,GOOD RIDDANCE,JACK!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。