Подтвердить что ты не робот

Использовать Xlint: устаревание с помощью android

Итак, я почти всегда получаю такое сообщение, когда компилирую приложение для 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?

4b9b3361

Ответ 1

Да, в соответствии с инструкцией ниже в файле 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/tools/ ant/main_rules.xml и скопируйте цель компиляции.

  • Вставьте его в файл build.xml перед < setup/ > Задача.

  • Затем добавьте следующий элемент в задачу:

    <compilerarg value="-Xlint:deprecation"/>
    
  • Аналогично, вы можете добавить другие параметры компилятора, например, для непроверенных операций:

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

Ответ 2

Эти свойства также могут быть определены в командной строке Ant, избегая изменений:

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

Чтобы включить все предупреждения Lint:

ant -Djava.compilerargs=-Xlint debug

Ответ 3

Еще проще и без необходимости копировать полную цель javac: поместите следующую строку в файл ant.properties:

java.compilerargs=-Xlint:unchecked

Таким образом, он просто переопределяет java.compilerargs из конфигурации SDK по умолчанию для Android SDK. (Вы можете убедиться, что он по умолчанию пуст, btw). Нет беспорядка с обновлением SDK, которое может изменить цель javac по умолчанию без уведомления вашего проекта.

Просто более гранулированный способ сделать!:)

Ответ 4

Похоже, вы должны просто указать опцию в build.properties или ant.properties в корне вашей папки проекта. Я пробовал это, и он, похоже, не работал. Я хотел избежать редактирования моего файла build.xml, так как это добавит осложнения позже, если вам нужно обновить свой проект. Однако мне не удалось найти способ обойти это. Однако вместо копирования целиком compile я добавил:

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

непосредственно перед строкой import в нижней части файла.