久久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
主站蜘蛛池模板: 安泽县| 收藏| 三江| 若尔盖县| 闵行区| 舟山市| 五常市| 墨江| 精河县| 庆云县| 正镶白旗| 雷山县| 姜堰市| 道真| 利辛县| 黄大仙区| 盈江县| 丰台区| 云浮市| 日土县| 精河县| 神木县| 鄂托克旗| 鲁甸县| 三河市| 玉田县| 清水河县| 张北县| 唐山市| 定边县| 登封市| 乐昌市| 上杭县| 黄浦区| 观塘区| 南阳市| 辽宁省| 桑日县| 嘉祥县| 明星| 深圳市|