Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用

Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用,第1张

概述我是 Android, Android Studio,Butterknife和Gradle构建系统的新手.但是,我不是Java的新手,也不是一般的编程. 我正在尝试使用JDK 1.8和Butterknife版本8.1.0构建一个Android应用程序,但Gradle构建仍然失败,说: Error:Could not find property ‘options’ on task ‘:app:com 我是 Android,Android Studio,Butterknife和Gradle构建系统的新手.但是,我不是Java的新手,也不是一般的编程.

我正在尝试使用JDK 1.8和Butterknife版本8.1.0构建一个AndroID应用程序,但Gradle构建仍然失败,说:

Error:Could not find property ‘options’ on task
‘:app:compileDeBUGJavaWithJack’.

注意:我的项目与JDK 1.8完全正常(除了“即时运行”功能),直到我尝试添加Butterknife.

我已经对此进行了一些研究,并浏览了以下几页/文章,但无法明确回答Butterknife 8.1.0是否与JDK 8协同工作的问题:

> GitHub Butterknife Issue #571
> New Jack toolchain crashes when using android-apt plugin
> Android issue 203850 on Google Code

它有用吗?如果是,我需要做些什么才能使其正常工作?

以下是我的项目设置的详细信息,以及Gradle构建文件中的代码段.
我很乐意提供可能需要的任何其他详细信息/文件.

版本细节:

> JDK 1.8.0_92(64位)
> AndroID Studio 2.1.2
> Gradle 2.1.2

build.gradle(项目级别)

// top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositorIEs {//        jcenter()        mavenCentral()    }    dependencIEs {        classpath 'com.neenbedankt.gradle.plugins:androID-apt:1.8'        classpath 'com.androID.tools.build:gradle:2.1.2'        // NOTE: Do not place your application dependencIEs here; they belong        // in the indivIDual module build.gradle files    }}allprojects {    repositorIEs {        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}

build.gradle(模块级)

apply plugin: 'com.androID.application'apply plugin: 'androID-apt'androID {    compileSdkVersion 24    buildToolsversion "24.0.0"    defaultConfig {        applicationID "sounakray.popularmovIEs"        minSdkVersion 15        targetSdkVersion 24        versionCode 1        versionname "1.0"        jackOptions {            enabled true        }    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro'        }    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}repositorIEs {    mavenCentral()}dependencIEs {    compile filetree(include: ['*.jar'],dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.androID.support:appcompat-v7:24.0.0'    compile 'com.androID.support:design:24.0.0'    compile 'com.squareup.picasso:picasso:2.5.2'    compile 'com.androID.volley:volley:1.0.0'    compile 'com.Google.code.gson:gson:2.7'    compile 'com.jakewharton:butterknife:8.1.0'    apt 'com.jakewharton:butterknife-compiler:8.1.0'}

解决方案更新

按照Jake’s的答案,我可以通过在两个build.gradle文件中进行以下更改,让Butterknife 8.1.0与AS 2.1.2中的JDK 8一起使用:

build.gradle(项目级别)

dependencIEs {    classpath 'com.androID.tools.build:gradle:2.2.0-Alpha5'}

build.gradle(模块级)

apply plugin: 'com.androID.application'//apply plugin: 'androID-apt'...dependencIEs {    ...    compile 'com.jakewharton:butterknife:8.1.0'    annotationProcessor  'com.jakewharton:butterknife-compiler:8.1.0'}
解决方法 如果你使用杰克:

>完全省略’androID-apt’插件.
>使用annotationProcessor作为依赖项(而不是apt).

我相信你必须使用AndroID Gradle插件的2.2.0版而不是2.1.x(目前最新的是2.2.0-Alpha5).

Butter Knife文档将在下一个版本(8.2.0)中更新,以包含此信息.

总结

以上是内存溢出为你收集整理的Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用全部内容,希望文章能够帮你解决Butterknife 8.1.0在Android Studio 2.1.2中不能与JDK 1.8一起使用所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1137932.html

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

发表评论

登录后才能评论

评论列表(0条)

保存