2011-10-07 6 views
12

그래서 내 안드로이드 애플 리케이션을 컴파일 할 때 거의 항상 이런 메시지를받습니다.Xlint를 사용하십시오 : android with deprecation with android

[javac] Note: /home/kurtis/sandbox/udj/androidApp/src/org/klnusbaum/udj/PlaylistFragment.java uses or overrides a deprecated API. 
[javac] Note: Recompile with -Xlint:deprecation for details. 

이 옵션으로 어떻게 다시 컴파일합니까? 내 build.xml에서 무언가를 편집해야합니까?

+2

Ant 대신 Gradle을 사용하는 경우 http://stackoverflow.com/questions/18689365/how-to-add-xlintunchecked-to-my-android-gradle-based-project – aleb

답변

11

예, 당신이 원하는 아래의 build.xml 파일에서 문 당, 경우는 ...

 
     - Customize only one target: 
      - copy/paste the target into this file, *before* the 
       <setup/> task. 
      - customize it to your needs. 

의미하는 내용 : $의 ANDROID_SDK_ROOT/도구/개미에

  1. 이동 /main_rules.xml 파일을 열고 "compile"대상을 복사하십시오.

  2. 는 < 설치/> 작업하기 전에 build.xml 파일 에 붙여 넣습니다.

  3. 그런 다음 작업에 다음과 같은 요소를 추가 :

    <compilerarg value="-Xlint:deprecation"/> 
    
  4. 을 마찬가지로, 당신이 그런 선택하지 않은 작업에 대한 다른 컴파일러 옵션을 추가 할 수 있습니다

    <compilerarg value="-Xlint:unchecked"/> 
    
+0

굉장함을 참조하십시오. 내가 집에 돌아와 아마 upvote하고 대답을 받아 들일 때 나는 이것을 시도합니다. –

2

이 모습을 프로젝트 폴더의 루트에있는 build.properties 또는 ant.properties에 옵션을 지정할 수 있습니다. 나는 이것을 시도하고 그것은 작동하지 않는 것 같았다. 내 build.xml 파일을 편집하지 않으려는 경우 나중에 프로젝트를 업데이트해야하는 경우 복잡성이 추가되기 때문에 그러나 나는 그 길을 찾을 수 없었다. 그러나 오히려 전체 compile 대상을 복사하는 것보다 내가 추가 :

<property name="java.compilerargs" value="-Xlint:unchecked" /> 

그냥 파일의 맨 아래에있는 import 줄 앞에.

23

이러한 속성은 또한 개미 명령 줄에서 정의 될 수있다, 피 편집 :

ant -Djava.compilerargs=-Xlint debug

+0

감사합니다. 훌륭한 제안. – Bram

14

도 간단하고 할 필요없이 :

ant "-Djava.compilerargs=-Xlint:unchecked -Xlint:deprecation" debug

모든 린트 경고를 활성화하려면 완전한 javac 대상 복사 : ant.properties 파일에 다음 행을 넣으십시오.

java.compilerargs=-Xlint:unchecked 

이렇게하면 Android SDK 기본 빌드 구성에서 java.compilerargs를 재정의합니다. (기본적으로 비어 있음을 스스로 확인할 수 있습니다, btw). 프로젝트 업데이트없이 기본 javac 대상을 변경할 수있는 SDK 업데이트가 없습니다.

더 세분화 된 방법! :)