2015-06-12 16 views
5

Próbuję generować apk na linii poleceń za pomocą ant. Jestem w stanie użyć funkcji ant clean, ale dla polecenia ant debug i ant release pojawia się następujący błąd.Brak debugowania i wydania mrówki nie powiodło się

BUILD FAILED

C: \ Android \ sdk \ tools \ ant \ build.xml: 649: Wystąpił następujący błąd podczas wykonywania tej linii: C: \ Android \ sdk \ tools \ ant \ build.xml: 694: Wykonanie nie powiodło się: java.io.IOException: Nie można uruchomić programu "C: \ Workspace \ SampleApp \ $ {aapt}": Błąd CreateProcess = 2, Th e system nie może odnaleźć pliku określonego w java. lang.ProcessBuilder.start (ProcessBuilder.java:1047) w java.lang.Runtime.exec (Runtime.java:617) w org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec (Jav a13CommandLau ncher.java:58) ...

Linia on line build.xml: 694 proguardFile="${out.absolute.dir}/proguard.txt"> jest obecna. Używam Eclipse Juno, a docelową kompilację to 22 (Lollipop). Każda pomoc jest doceniana.

Odpowiedz

9

Po aktualizacji zestawu SDK do Androida do najnowszej wersji narzędzia wystąpił ten sam błąd.

Skrypt tools \ ant \ build.xml nie zawiera żadnych odniesień do narzędzi.

Można to rozwiązać, dodając narzędzia do pliku build.xml i wskazując poprawną ścieżkę. Dla mnie był to build-tools \ 22.0.1

proszę porównać i zaktualizować sekcję narzędzia w 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}" /> 

Dziękuję Alex za cynk!

+0

Dziękuję jdelafon, zadziałało. W build.xml brakowało ścieżek dla aapt, zipalign, build-tools i dx. Po ich dodaniu udało mi się wygenerować apk zarówno w trybie debugowania, jak i wydania. Dzięki. – Ragini

+0

W najnowszych narzędziach ** build.xml ** nie wygląda tak. Zawiera: ' ' –

0

upewnić punkt do istniejącego pliku PROGUARD proguard.config w project.properties

proguard.config=proguard-project.txt 
+0

Dziękuję za odpowiedź ... Wprowadziłem sugerowane zmiany. ale wciąż otrzymuję ten sam błąd. – Ragini

2

ten bit Cannot run program "C:\Workspace\SampleApp\${aapt}" sugeruje, że zmienna ${aapt} nie został przetłumaczony przez kompilator.

Sprawdź, czy ${aapt} został zdefiniowany wcześniej w twoim skrypcie budowania. Spróbuj wydrukować wartość ${aapt} (np. <echo>aapt variable: ${aapt}</echo>) bezpośrednio przed linią, która wyzwala błąd, aby sprawdzić, czy kompilacja poprawnie skompilowała zmienną.

+0

Dzięki Alex, brak ścieżki, – Ragini

2

Po prostu zaktualizuj narzędzie sdk dla Androida do 24.3.3

Powiązane problemy