2017-11-21 14 views
1

자바 컴파일 버전을 1_8로 변경했습니다.기본 메소드 부울 메소드 이름()이 24보다 낮은 API 레벨에서 지원되지 않습니다

defaultConfig { 
    jackOptions { 
     enabled true 
    } 
} 

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
} 

그 후 내 프로젝트를 실행했고, 아래 오류가있어 어떻게해야할지 모르십니까?

 Error:Default method boolean test(java.lang.Object null) not supported in Android API level less than 24 
     Error:Default method void forEach(java.util.function.Consumer null) not supported in Android API level less than 24 
     Error:Static method void com_google_common_collect_Multiset_lambda$forEachEntry$0(java.util.function.ObjIntConsumer null, com.google.common.collect.Multiset$Entry null) not supported in Android API level less than 24 
     Error:Default method void forEach(java.util.function.BiConsumer null) not supported in Android API level less than 24 
     Error:Default method void addAll(java.lang.Iterable null) not supported in Android API level less than 24 
     Error:Default method boolean enclosesAll(java.lang.Iterable null) not supported in Android API level less than 24 
     Error:com.android.jack.JackAbortException 
     Warning:Exception while processing task java.io.IOException: com.android.jack.api.v01.CompilationException 
     Error:Execution failed for task ':MyApp:compileDebugJavaWithJack'. 
     > java.io.IOException: com.android.jack.api.v01.CompilationException 

아무에게도이 질문에 답해 줄 수 있습니까?

+0

당신이 잭 - 컴파일러를 사용할 수 있나요? 더 이상 지원되지 않으며 더 이상 사용되지 않습니다. – Christopher

+0

예 잭을 활성화했습니다. 코드를 수정했습니다. plesae 그것을 참조하십시오 – Vji

+0

@Christopher 해결할 솔루션이 있습니까? – Vji

답변

0

Jack - 컴파일러가 사용되지 않아야합니다. Android Studio 3.0을 사용하는 경우 minSdkVersion과 같은 Java 8 기능 (default-methods)을 지원하는 새로운 desugar 기능으로 간단히 전환 할 수 있습니다. desugar 방법 잭으로 전환하는 현재 솔루션의

기능은 여기에 설명되어 있습니다 :

Use Java 8 Language Features

+2

OP 문제는 Jack의 사용법과 관련이 없지만 24 이하의 최소 SDK 수준과 관련이있는 것으로 보입니다. 오류 메시지는 java.util.function 패키지의 'Consumer' 및'BiConsumer '인터페이스를 언급합니다. API 레벨 24 이하의 기기에는 존재하지 않습니다. 따라서 문제의 원인 인 존재하지 않는 API를 사용하는 것 같습니다. 'desugar'는 그것을 고칠 수 없다. – Sartorius