исходное значение 1.5 устарело и будет удалено в будущей версии

#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. Хотя глобальное изменение полезно, я предпочитаю этот ответ, поскольку изменение отражается локально и явно в проекте.