• 在Android中引入Java8的lambda表达式


    我用的是retrolambda这个插件,下面来说下如何添加它。

    项目地址:https://github.com/evant/gradle-retrolambda

    在根项目的build.gradle中添加这个classpath

    classpath 'me.tatarka:gradle-retrolambda:3.2.0'//retrolambda

    example:

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
            classpath 'me.tatarka:gradle-retrolambda:3.2.0'//retrolambda
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }

    然后,在项目的bulid.gradle中添加插件,并让其使用java8

    apply plugin: 'com.android.application'
    apply plugin: 'me.tatarka.retrolambda'
    
    android {
        compileSdkVersion rootProject.compileSdkVersion
        buildToolsVersion rootProject.buildToolsVersion
    
        defaultConfig {
            applicationId "kale.androidframework"
            minSdkVersion rootProject.minSdkVersion
            targetSdkVersion rootProject.targetSdkVersion
            versionCode Integer.parseInt(project.VERSION_CODE)
            versionName project.VERSION_NAME
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    
        lintOptions {
            checkReleaseBuilds false
            // Or, if you prefer, you can continue to check for errors in release builds,
            // but continue the build even when errors are found:
            abortOnError false
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
    retrolambda {
        javaVersion JavaVersion.VERSION_1_7
    }
    
    //设置编码  
    tasks.withType(JavaCompile) {
        options.encoding = "UTF-8"
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
    }

    如果你用到了多个lib库,需要在每个lib中进行添加:

    apply plugin: 'me.tatarka.retrolambda'
    
    android {
    
    
      compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
      }
    
    
    }
  • 相关阅读:
    Spring源码剖析4:懒加载的单例Bean获取过程分析
    css3动画 9步
    删除文件
    监听变量的方法
    jPaginate应用
    bg-render+bg-class+filter
    css兼容处理
    系统前端关键点
    token 入门教程
    svg笔记----------path篇
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4633377.html
Copyright © 2020-2023  润新知