2014-06-20 9 views
17

Come impedire che i due seguenti avvisi generino un errore che interrompe il processo di compilazione?il valore di origine 1.5 è obsoleto e verrà rimosso in una versione futura

-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 
+3

Stai utilizzando minSdkVersion o targetSdkVersion = 3 nel tuo manifest? –

+0

no, il minSdkVersion più piccolo era 4. L'ho raggiunto a 8, ma l'avviso continua a mostrare. –

+0

Immagino che qualcosa sia rimasto nel tuo file 'project.properties' (come:' target = android-3'). È possibile modificarlo manualmente (aprirlo nell'editor di testo) –

risposta

20

Un'altra possibilità (che sarà risolvere il problema per tutto build Android realizzate con Ant), consente di modificare i parametri predefiniti per l'attività -compile in <android-sdk>\tools\ant\build.xml.

Nella sezione <!-- compilation options -->, è possibile impostare i flag di compilazione:

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

o, in alternativa, cambiare la sorgente e di destinazione parametri:

<property name="java.target" value="1.6" /> 
<property name="java.source" value="1.6" /> 

A partire da ora, 1.6 è sufficiente per evitare l'avvertimento.

+1

Quest'ultimo sembra molto più pulito ('java.target' e' java.source'). Quali effetti collaterali ha '-Xlint: -options' hanno? – jww

+0

'java.target' e' java.source' hanno funzionato per me, grazie – mbonness

+0

Ma, '"/Applicazioni/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/extide/ant/bin "' or' "/ Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/extide/ant "' non esiste un file build.xml ??? – YumYumYum

4

Per essere in grado di costruire, ho creato un file ant.properties nel progetto facebook (primo progetto che viene compilato) con il contenuto:

java.compilerargs=-Xlint:-options 
+0

Come si aggira l'avvertimento '1.5'? –

3

Questo è impostato nel file ${sdk.dir}/tools/ant/build.xml. All'inizio del file ci sono molte impostazioni property, ad es.

<!-- 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="" /> 

anche all'inizio di questo file è un commento

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). 

Così, al fine di escludere qualsiasi proprietà di valore generale e di origine e valore obiettivo, in particolare, si può mettere queste proprietà nelle ant.properties file nella directory del progetto

java.source=1.6 
java.target=1.6 

Questo overrid es le impostazioni predefinite in ${sdk.dir}/tools/ant/build.xml e quindi impedisce gli avvisi.

+0

Sebbene il cambiamento globale sia utile, preferisco questa risposta poiché il cambiamento si riflette localmente ed esplicitamente nel progetto. – user107172

Problemi correlati