2014-01-21 1 views
18

Ich versuche, meine apps mit ANT und ich kläglich scheitert zu bauen, nachdem ich eingeschlossen das Bibliotheksprojekt google-play-services-lib.Android: ANT Build nicht mit Google-Play-Dienste-lib: „ohne project.properties Datei für Projekt auf einen Pfad beheben“

Schritt 1

ich einen Verweis auf die Bibliothek-Projekt in meiner project.properties-Datei:

android.library.reference.1=/path/to/google-play-services_lib 

Schritt 2

ich diese Befehle in der Google lief -play-services_lib Ordner:

android update lib-project --path . 
ant clean 
ant release 

BUILD SUCCESS!

Schritt 3

Zurück zu meinem Projektordner

ant clean 
ant release 

ERROR

BUILD FAILED 
/android/tools/ant/build.xml:460: /path/to/google-play-services_lib resolve to a path with no project.properties file for project /my/project-folder 

Es gibt eine project.properties in beiden Ordnern, natürlich. Der in Google-Play-services_lib enthält diesen Code:

target=android-8 
android.library=true 

ich offensichtlich etwas fehlt bin, die vor mir Recht gibt es und ich würde wirklich Ihre Hilfe zu schätzen wissen. Vielen Dank!

+1

ich konnte nicht herausfinden, wie man auto-gen die Ameise build.xml Datei bis ich auf Ihre Frage gestolpert. Vielen Dank! –

Antwort

22

Versuchen die android Bibliothek Bezugnahme auf einen relativen Pfad (im Verhältnis zu dem aktuellen Verzeichnis) anstelle eines absoluten Pfad ändert.

z.B.

android.library.reference.1=../../../relative_path/to/google-play-services_lib 
+2

danke, es hat funktioniert! Gibt es einen Grund für dieses Verhalten? – mitai

+0

nur ein Hinweis, dass dies in 'ant.properties' getan werden muss, die nach dem Android-Update Projekt -p erzeugt wird. - Ziel Android-18 –

1

Ich hatte das gleiche Problem bei der Entwicklung eines Cordova-Projekts. Ich kopierte die Google-Play-Dienste-lib Projektordner in das gleiche Verzeichnis wie das Projektverzeichnis und legen Sie die Referenz als

android.library.reference.2=google-play-services_lib 

In meinem Fall habe ich auch Bezug auf das cordova Projekt hatte, daher android.library .reference.2

Verwandte Themen