2016-12-14 14 views
2

Dagger 2はJava 8とJackで動作しません.dagger 2.xの異なるバージョンでこの問題を解決してください。前に正常に動作しますが、私は、Java 8を追加しようとすると、このエラーが発生しました:Dagger 2 with Java 8エラーコンパイル

Error:Execution failed for task ':app:transformJackWithJackForDebug'. 
> com.android.jack.ir.JNodeInternalError: java.lang.Exception: java.lang.NoSuchMethodError: com.google.common.base.CharMatcher.whitespace()Lcom/google/common/base/CharMatcher; 

アプリケーションのGradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     applicationId "com.test.my.project" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     jackOptions { 
      enabled true 

    } 
} 

buildTypes { 
    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 
} 
dependencies { 
    compile 'com.android.support:appcompat-v7:25.0.1' 
    compile 'com.squareup.retrofit2:retrofit:2.1.0' 
    compile 'com.google.dagger:dagger:2.5' 
    annotationProcessor "com.google.dagger:dagger-compiler:2.5" 
    compile 'com.google.android.gms:play-services-maps:10.0.1'  
} 

プロジェクトのGradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 

     // 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 
} 

答えて

1

Charmatcher.whitespace()はグアバに導入された19ルックスGuava 19に対してコンパイルするコードをいくつか持っているようですが、クラスパス上のものより早いもので終わります。

+0

少しおねがいしますか? –