android-使用Lambda表达式和Butterknife

android-使用Lambda表达式和Butterknife,第1张

概述我尝试在代码中使用Lambda表达式,但出现此错误:此语言级别不支持Lambda表达式我只是在SO上搜索它,找到了将其添加到gradle文件的解决方案:compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8}def

我尝试在代码中使用Lambda表达式,但出现此错误:此语言级别不支持Lambda表达式

我只是在SO上搜索它,找到了将其添加到gradle文件的解决方案:

compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }defaultConfig {        ...        jackOptions {            enabled true        }    }

然后我得到一个新的错误:错误:无法获得类型为com.androID.build.gradle.internal.pipeline.transformTask的任务’:app:transformJackWithJackForDeBUG’的未知属性’classpath’.

再次在SO上搜索,发现这是因为我不能同时使用jack和apt …所以我删除了apt删除这些行:

apply plugin: 'com.neenbedankt.androID-apt'dependencIEs {        ...        classpath 'com.neenbedankt.gradle.plugins:androID-apt:1.8'        ...    }

并得到了一个新的错误,因为ButterKnife需要适当的…

那么如何在同一项目中使用Lambda和Butterknife?

解决方法:

您应该在build.gradle中为黄油刀库使用注释处理器

 compile 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

Full Gradle看起来像:

buildscript {repositorIEs {   ....}dependencIEs {    classpath 'com.neenbedankt.gradle.plugins:androID-apt:1.8'    classpath 'me.tatarka:gradle-retrolambda:3.4.0'   .....}}apply plugin: 'me.tatarka.retrolambda'......androID{..... compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}repositorIEs {}dependencIEs {    ..........    compile 'com.jakewharton:butterknife:8.4.0'    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' }}

注意:不要使用jackOption = Enabled

总结

以上是内存溢出为你收集整理的android-使用Lambda表达式和Butterknife全部内容,希望文章能够帮你解决android-使用Lambda表达式和Butterknife所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1091434.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存