本文共 864 字,大约阅读时间需要 2 分钟。
在项目中使用了Java8
和Jack
编译器来使用一些Java 8
的新特性,比如Lambda。
在app
的build.gradle
文件中加入如下配置:
android { compileSdkVersion 'android-25' buildToolsVersion '25.0.2' defaultConfig { jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }将项目中一些可以复用的代码整理成
module
,然后在 app
中引用。问题来了,首先是 Jack
是不能在 modlue
中 enable
的。如果将下面代码写在 modlue
的 build.gradle
中,报错:Library projects cannot enable Jack. Jack is enabled in default config
解决办法:删除以下代码:
jackOptions { enabled true }添加以下代码:
gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar" }}重新编译就OK了。