error: build.xml:77: Android Target is not set
Bei Versuch der testweisen Abarbeitung (run) eine Android-Scripts in Netbeans kommt es zu dieser Fehlermeldung:
error: build.xml:77: Android Target is not set
Im Netbeans-Projektordner gibt es 3 Dateien, die für die Parametrierung der Laufzeitumgebung für den Testlauf einer App da sind: build.xml, default.properties (üblicherweise leer) und project.prperties.
Die Datei project.properties enthält dabei als einzige relevante Zeile
target=android-3
wobei die Zahl die Versionsnummer des Android-Systems darstellt bzw. "android-3" der Name des Verzeichnisses im Android-SDK ist, in dem die Dateien für diese Version liegen.
Der fehler liegt in der build.xml. Die enthält zwar eine Zeile
<property file="default.properties" />
nicht aber eine Zeile
<property file="project.properties" />
Wie oben ersichtlich ist, bringt der verweis auf die default.properties nichts, da diese Datei leer ist. Ein verweis auf project.properties wäre nötig wegen des targets, aber der fehlt. Dafür habe ich 2 Lösungswege als "work around":
- In die build.xml werden entweder beide Zeilen eingetragen oder nur die eine durch die zweite ersetzt, sodaß auf jeden Fall auf project.properties verwiesen wird. Da diese Datei bei jedem Wechsel der Target-Einstellung neu (und wieder falsch) geschrieben werden würde, wird sie auf "read only" gesetzt.
(EIn Wechsel des targets während der Entwicklung tritt auf, wenn die App für verschiedene Systeme getestet werden soll.)
Dieses Verfahren hat den Nachteil, daß ein Löschen des Projekts nicht mehr vollständig geht, weil diese Datei eben schreibgeschützt ist. - Zumindest unter Linux bietet sich ein anderes Verfahren an, daß den obigen Nachteil nicht hat. Man nutzt dem Umstand, daß default.properties ohnehin leer ist und ersetzt sie durch einen Link auf die project.properties:
rm default.properties
ls -s project.properties default.properties
Damit funktioniert das Verfahren auch, wenn nur die default.properties angesprochen wird, weil die ja nun das target enthält.
Welches Programmteil (IDE, Android-Plugin) den Fehler eigentlich Verursacht, weiß ich nicht. Ich würde auf das Android-Plugin tippen, glaube mich aber zu erinnern, daß es mit der Version 6.9 von NetBeans ohne Tricks funktioniert hat - was ein Widerspruch wäre...
Für Hinweise bin ich dankbar.