2017-02-27 14 views
-1

중복 키 값을 저장할 수 있으므로 내 프로젝트에서 멀티 맵을 사용하고 싶습니다. 그러나 문제는 gradle을 추가하는 것입니다. 내 서브 모듈 Gradle을에서 멀티 맵 gradle을 android에 추가하는 방법

내가 추가 : 당신은 '자바'Gradle을 플러그 인을 사용하는 경우

:

그런 다음
compile 'com.google.guava:guava:21.0' 

나는이 줄을 추가 말하는 오류이 내가 추가하는 방법입니다 라이브러리 서브 모듈은 해당 서브 모듈의 build.gradle 파일에

을 추가하십시오.

android { 
    compileSdkVersion 25 
    buildToolsVersion "23.0.2" 
    defaultConfig { 
    applicationId "com.example.golondon" 
    minSdkVersion 16 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 

dependencies { 
compile 'com.google.guava:guava:21.0' 

targetCompatibility = '1.7' 
sourceCompatibility = '1.7' 
} 

을하지만 여전히 나는 오류를 얻을 :

그래서 나는이처럼 내 Gradle을 파일을 변경했습니다. 나는 또한 시도 :
compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 

는 그럼 잭 옵션을 추가하고 내가 24.0.1에 내 "buildToolsVersion"를 변경해야합니다 잭 옵션을 가능하게했다.

이 전체 같은 오류의 무리 제공 : 컴파일 jar 파일에서 오는 람다 필요로하는 클래스 경로에 자신의 인터페이스를 알 수없는 인터페이스는 안드로이드 당신은 구아바를 사용할 수 없습니다

답변

2

java.util.function.BiConsumer 있습니다 21은 Java 1.8+에서만 실행되는 첫 번째 릴리스이기 때문에. Guava's README :

JDK 1.8 이상이 필요합니다. JDK 1.6 또는 Android에 대한 지원이 필요한 경우 지금은 20.0을 사용하십시오. 다음 릴리스 (22.0)에서는 Android 및 더 낮은 JDK 버전에서 사용할 백 포트를 제공하기 시작할 것입니다.

TLDR : Guava 20.0을 사용하십시오.