android – 使用Jack时未生成Dagger 2组件

android – 使用Jack时未生成Dagger 2组件,第1张

概述当我在 Android Studio 2.2中启用 Jack compiler时,不会生成 Dagger 2组件. Dagger 2可以和杰克一起使用吗?如果是这样,我将如何配置我的应用程序? 从我的应用程序的build.gradle: jackOptions { enabled true } compileOptions { sourceCompatibility J 当我在 Android Studio 2.2中启用 Jack compiler时,不会生成 Dagger 2组件. Dagger 2可以和杰克一起使用吗?如果是这样,我将如何配置我的应用程序?

从我的应用程序的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!

总结

以上是内存溢出为你收集整理的android – 使用Jack时未生成Dagger 2组件全部内容,希望文章能够帮你解决android – 使用Jack时未生成Dagger 2组件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存