#android
#Android
Вопрос:
Как мне предотвратить появление двух приведенных ниже предупреждений об ошибке, которая останавливает процесс сборки?
-compile:
[javac] Compiling 77 source files to /Users/andev/Workspace/android/products/myproject/1.0/Facebook/bin/classes
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] error: warnings found and -Werror specified
[javac] 1 error
[javac] 3 warnings
Комментарии:
1. Используете ли вы minSdkVersion или targetSdkVersion = 3 в своем манифесте?
2. нет, наименьшее значение minSdkVersion было 4. Я увеличил его до 8, но предупреждение все еще отображается.
3. Я думаю, что в вашем
project.properties
файле что-то осталось установленным (например:target=android-3
). Вы можете отредактировать его вручную (открыть в текстовом редакторе)4. Я избежал этой проблемы, используя в своем скрипте сборки
android update project --target android-19 --path ../Facebook --name Facebook
все библиотеки (в данном случае facebook) и основной проект.
Ответ №1:
Другая возможность (которая исправит это для всех сборок Android, созданных с помощью Ant) — настроить параметры по умолчанию для -compile
задачи в <android-sdk>toolsantbuild.xml
.
В <!-- compilation options -->
разделе вы можете либо установить флаги компилятора:
<property name="java.compilerargs" value="-Xlint:-options" />
или, в качестве альтернативы, измените исходные и целевые параметры:
<property name="java.target" value="1.6" />
<property name="java.source" value="1.6" />
На данный момент 1.6
этого достаточно, чтобы избежать предупреждения.
Комментарии:
1. Последнее кажется намного более чистым (
java.target
иjava.source
). Какие побочные эффекты-Xlint:-options
есть?2.
java.target
иjava.source
сработало для меня, спасибо3. Но,
"/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/extide/ant/bin"
или"/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/extide/ant"
нет build.xml файл???4. Для меня ничего не меняется.
Ответ №2:
Чтобы иметь возможность создавать, я создал файл ant.properties
в проекте facebook (первый скомпилированный проект) с содержимым :
java.compilerargs=-Xlint:-options
Комментарии:
1. Как это позволяет обойти
1.5
предупреждение?
Ответ №3:
Это задается в ${sdk.dir}/tools/ant/build.xml
файле. В начале файла много property
настроек, например
<!-- compilation options -->
<property name="java.encoding" value="UTF-8" />
<property name="java.target" value="1.5" />
<property name="java.source" value="1.5" />
<property name="java.compilerargs" value="" />
<property name="java.compiler.classpath" value="" />
Также в начале этого файла есть комментарий
At the beginning of the file is a list of properties that can be overridden by adding them to your ant.properties (properties are immutable, so their first definition sticks and is never changed).
Итак, чтобы переопределить любое свойство в целом и исходное значение и целевое значение в частности, вы можете поместить эти свойства в файл ant.properties в каталоге вашего проекта
java.source=1.6
java.target=1.6
Это переопределяет настройки по умолчанию ${sdk.dir}/tools/ant/build.xml
и, таким образом, предотвращает предупреждения.
Комментарии:
1. Хотя глобальное изменение полезно, я предпочитаю этот ответ, поскольку изменение отражается локально и явно в проекте.