标签:butterknife android-studio gradle android lambda
我尝试在代码中使用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
标签:butterknife,android-studio,gradle,android,lambda 来源: https://codeday.me/bug/20191026/1933434.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。