在使用Android Studio 2.1时,想要使用lambda表达示。根据AS自带的提示需要增加了

android {
…….
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
…….
}

问题:
Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.

解决:配置Gradle.
在模块特定的 build.gradle 文件中输入以下内容:
android {
…….
defaultConfig {

    jackOptions {        enabled true    }}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
…..这里写代码片
}

原因:AS新版本java8新特性需要jack工具链

新的 Java 8 语言功能,还需使用新的 Jack 工具链。新的 Android 工具链将 Java 源语言编译成 Android 可读取的 Dalvik 可执行文件字节码,且有其自己的 .jack 库格式,在一个工具中提供了大多数工具链功能:重新打包、压缩、模糊化以及 Dalvik 可执行文件分包。

以下是构建 Android Dalvik 可执行文件可用的两种工具链的对比:

旧版 javac 工具链:
javac (.java –> .class) –> dx (.class –> .dex)
新版 Jack 工具链:
Jack (.java –> .jack –> .dex)

官方说明网址:https://developer.android.com/preview/j8-jack.html

/********************************************************/

更新:2016.5.31

问题:Error:Could not find property ‘options’ on task ‘:app:compileDebugJavaWithJack’.

原因:使用Jack时不能同时使用APT,暂时不兼容。包括butterknife,Dagger等使用了APT的注解框架。希望Google可以尽早解决。

问题参考Google Code:https://code.google.com/p/android/issues/detail?id=203850

方案二

:使用第三方Java8兼容插件。

github:

https://github.com/evant/gradle-retrolambda

1.下载Java8
2.把以下代码增加到 build.gradle

buildscript {  repositories {     mavenCentral()  }  dependencies {     classpath 'me.tatarka:gradle-retrolambda:3.2.5'  }}// Required because retrolambda is on maven centralrepositories {  mavenCentral()}apply plugin: 'com.android.application' //or apply plugin: 'java'apply plugin: 'me.tatarka.retrolambda'

3.使用Android Studio IDE,请在build.gradle文件上加入

android {  compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8  }}

更多相关文章

  1. 对android 项目工程 sdk编译版本、build工具版本等一系列版本统
  2. Android aapt 资源打包工具
  3. Android dumpstate 工具解析
  4. android 查询工具源代码
  5. Android反编译工具绿色版V2.1(改进版)
  6. Android SDK目录结构和工具介绍
  7. 谷歌开发工具Android Studio安装使用图文教程
  8. android自动化测试工具
  9. Android 应用语言设置的实现

随机推荐

  1. android开发中adb的用法
  2. 轉載 :【转】android UI 相关常用类简介
  3. Android 监听系统虚拟导航栏按键
  4. android 使用动画实例[1]
  5. Android的多种数据存储方式
  6. android中sqlite数据库升级方案
  7. Android Theme使用总结
  8. android按行读取文件内容的几个方法
  9. Android之ScrollView滚动到指定位置
  10. android中的UriMatcher和ContentUris