2017-02-16 2 views
0

내가 내 프로젝트 Gradle을 파일의 끝에 다음을 가져온 거에요 :Android 프로젝트에서 맞춤 Java 컴파일러 인수를 설정하는 방법은 무엇입니까?

gradle.projectsEvaluated { 
    tasks.withType(JavaCompile) { 
     options.compilerArgs += 
      ['-Xep:MissingOverride:ERROR', 
      '-Xep:MissingCasesInEnumSwitch:ERROR',] 
    } 
} 

하지만, 내 코드에서 내가 어딘가에 @Override 주석을 제거하거나 스위치 문을 제거하면, 내 안드로이드 프로젝트는 아직 구축합니다. 오류로 인해 실패하지 않아야합니까?

+0

는 나도 몰라 (''-APackageAcronym = '+ gradle.ext.packageAcronym,'-s ', gradle.ext.generatedQueriesDir)) }'compileJava는 자체 작업이기 때문에. – Nico

+0

'compileJava'를 루트 레벨에 두시겠습니까? 제 경우에 그렇게하면 다음과 같은 오류 메시지가 나타납니다. "오류 : 메서드 compileJava()를 찾을 수 없습니다 ..." – ADev

+1

예 루트 수준에 넣습니다. 나는 그것이 안드로이드 gradle 빌드에 대해 다른 것 같아요? 그냥 기회를 줄 생각 :) 당신이 시간 낭비해서 미안 해요. – Nico

답변

1

내가 문제를 봤와 문제 설명이 post 을 발견하고 해결책은 다음과 같습니다

allprojects { gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } } 

그대로 '은 Gradle을 빌드 자바 프로젝트에 비해 안드로이드 프로젝트에 대해 서로 다른이며, 당신이 할 수있는 것 내 첫 번째 언급에 명시된대로 CompileJava 작업에 액세스하지 마십시오. { options.fork = 사실 options.forkOptions.executable = 'javac의' options.compilerArgs.addAll`compileJava : 그것은 안드로이드 프로젝트하지만이 구현 우리의 자바 EE 빌드에 대해 서로 다른 동작 경우

관련 문제