首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android Jack:来自jar文件的Lambda需要编译它们在类路径上的接口,未知的接口是java.util.function.Consumer

Android Jack:来自jar文件的Lambda需要编译它们在类路径上的接口,未知的接口是java.util.function.Consumer
EN

Stack Overflow用户
提问于 2016-09-25 13:11:53
回答 3查看 5.9K关注 0票数 17

这是在android studio 2.2上获得的。

有谁有变通办法吗?

我的应用构建文件是:

代码语言:javascript
复制
apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "acme.cb2"
        minSdkVersion 18
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        jackOptions {
            enabled true
        }

    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.1.1'
    compile 'com.android.support:support-v4:24.1.1'
}

编辑:修改主构建文件以包含来自https://stackoverflow.com/users/5753091/mohammadreza-khalifeh的答案-但这没有帮助

代码语言:javascript
复制
import java.text.SimpleDateFormat

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'org.hidetake:gradle-ssh-plugin:2.4.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"
        }
    }
}

编辑:添加:

代码语言:javascript
复制
options.compilerArgs.each { println 'option: '+it}

打印输出:

代码语言:javascript
复制
option: -Xbootclasspath/a:C:\Program Files\Java\jdk1.8.0_92\jre/lib/rt.jar

看起来路径中的空格可能会导致问题?

编辑:正在尝试:

代码语言:javascript
复制
options.compilerArgs << "\""+"-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"+"\""

也不起作用。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39683608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档