2015-06-12 20 views
5

Sto provando a generare apk su riga di comando usando ant. Sono in grado di usare ant clean ma per il debug di ant e il comando di rilascio delle formiche ottengo un errore successivo.Rilascio ant di debug e formica non riuscito

generazione non riuscita

C: \ Android \ SDK \ Tools \ formica \ build.xml: 649: Si è verificato il seguente errore durante l'esecuzione di questa linea: C: \ Android \ SDK \ Tools \ formica \ build.xml: 694: Execute non riuscito: java.io.IOException: Impossibile eseguire il programma "C: \ Workspace \ SampleApp \ $ {aapt}": Errore CreateProcess = 2, Th e il sistema non riesce a trovare il file specificato su java. lang.ProcessBuilder.start (ProcessBuilder.java:1047) a java.lang.Runtime.exec (Runtime.java:617) a org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec (Jav a13CommandLau ncher.java:58) ...

Sulla linea build.xml: 694 proguardFile="${out.absolute.dir}/proguard.txt"> la linea è presente. Sto usando Eclipse Juno e il target build è 22 (Lollipop). Qualsiasi aiuto è apprezzato.

risposta

9

Ho avuto lo stesso errore dopo aver aggiornato l'SDK di Android agli ultimi strumenti di compilazione.

Lo script di strumenti \ ant \ build.xml non contiene riferimenti per gli strumenti.

Questo può essere risolto aggiungendo gli strumenti a build.xml e puntare al percorso corretto. Per me questo è stato build-tools \ 22.0.1

Si prega di confrontare e aggiornare la sezione strumento in build.xml

<!-- tools location --> 
<property name="android.tools.dir" location="${sdk.dir}/tools" /> 
<property name="android.platform.tools.dir" location="${sdk.dir}/platform-tools" /> 
<property name="android.buildtools.dir" location="${sdk.dir}/build-tools/22.0.1" /> 
<condition property="exe" value=".exe" else=""><os family="windows" /></condition> 
<condition property="bat" value=".bat" else=""><os family="windows" /></condition> 
<property name="adb" location="${android.platform.tools.dir}/adb${exe}" /> 
<property name="lint" location="${android.tools.dir}/lint${bat}" /> 
<property name="zipalign" location="${android.buildtools.dir}/zipalign${exe}" /> 
<property name="aidl" location="${android.platform.tools.dir}/aidl${exe}" /> 
<property name="aapt" location="${android.buildtools.dir}/aapt${exe}" /> 
<property name="dx" location="${android.buildtools.dir}/dx${bat}" /> 
<property name="renderscript" location="${android.buildtools.dir}/llvm-rs-cc${exe}"/> 
<property name="lint" location="${android.tools.dir}/lint${bat}" /> 

Grazie Alex per la punta!

+0

Grazie, jdelafon, ha funzionato. build.xml mancava i percorsi per aapt, zipalign, build-tools e dx. Dopo averli aggiunti, sono stato in grado di generare apk sia in modalità di debug che in modalità di rilascio. Grazie mille – Ragini

+0

Negli ultimi strumenti ** build.xml ** non sembra così. Ha: ' ' –

0

Assicurarsi che il punto a un file esistente Proguard proguard.config nel vostro project.properties

proguard.config=proguard-project.txt 
+0

Grazie per la risposta ... Ho apportato le modifiche suggerite. ma sta ancora ottenendo lo stesso errore. – Ragini

2

Questo bit Cannot run program "C:\Workspace\SampleApp\${aapt}" suggerisce che la variabile ${aapt} non è stato tradotto dal compilatore.

Verificare che ${aapt} sia stato definito in precedenza nello script di build. Prova a stampare il valore di ${aapt} (ad esempio <echo>aapt variable: ${aapt}</echo>) immediatamente prima della riga che attiva l'errore, per verificare che la compilazione abbia compilato correttamente la variabile.

+0

Grazie Alex, mancava il percorso aapt – Ragini

2

Basta aggiornare lo strumento sdk di Android a 24.3.3