久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

android-studio - 如何在android module中使用Java 8的新特性,比如Lambda?

瀏覽:134日期:2024-02-26 08:25:40

問題描述

一個(gè)很蛋疼的問題。是這樣的:在項(xiàng)目中使用了Java8和Jack編譯器來使用一些Java 8的新特性,比如Lambda,用著的確很爽。配置如下:在app的build.gradle文件中加入如下配置:

jackOptions {enabled true }

compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8 }

相安無事了很久,直到今天,打算將項(xiàng)目中一些可以復(fù)用的代碼整理成module,然后在app中引用。問題來了,首先是Jack是不能在modlue中enable的。如果將下面代碼寫在modlue的build.gradle中:

jackOptions {enabled true }

就會(huì)報(bào)如下錯(cuò)誤:

Error:Library projects cannot enable Jack. Jack is enabled in default config.

所以刪掉了這句話,然后留下這句話:

compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8 }

然后Android Studio就會(huì)提示我module中有些seOnClickListener之類的代碼可以替換成Lambda,滿心歡喜,以為搞定了。然而Make Project卻出現(xiàn)如下錯(cuò)誤:

Error:Execution failed for task ’:customviews:compileReleaseJavaWithJavac’.> Compilation failed; see the compiler error output for details.

只要我把module中Lambda表達(dá)式改成普通寫法,就不會(huì)報(bào)這個(gè)錯(cuò)。我也不知道哪里出問題了,悲催。

希望大神幫我解決下!

PS:不要說用第三方插件實(shí)現(xiàn)Lambda,感覺為了一個(gè)Lambda引一個(gè)庫,得不償失。

問題解答

回答1:

加上這句gradle.projectsEvaluated {

tasks.withType(JavaCompile) { options.compilerArgs << '-Xbootclasspath/a:' + System.properties.get('java.home') + '/lib/rt.jar'}

}

http://stackoverflow.com/ques...

標(biāo)簽: java
主站蜘蛛池模板: 中阳县| 桦南县| 汕头市| 九龙城区| 托里县| 肇源县| 闽清县| 杭锦旗| 乌拉特后旗| 湖北省| 航空| 青河县| 南川市| 丰镇市| 来凤县| 兰西县| 巩义市| 噶尔县| 新竹市| 屯门区| 重庆市| 黎川县| 沛县| 霸州市| 莲花县| 新疆| 城市| 红桥区| 襄汾县| 鄂托克旗| 乐清市| 阿拉善左旗| 垫江县| 永城市| 霍州市| 乡宁县| 临海市| 吴旗县| 石渠县| 南靖县| 徐州市|