Ich habe ein Problem, wenn ich meiner phoneGap-Anwendung eine Android-Plattform hinzufügen möchte. Ich habe diese Nachricht in meiner CLI erhalten, als ich den Befehl cordova platform add android ausführte:
Checking Android requirements...
(Error: An error occurred while listing Android targets)
Ich versuche bereits, meinen Android SDK-Speicherort in der Pfadvariablen hinzuzufügen.
Bitte hilf mir ! : D.
Ich arbeite unter Windows 7 64 Bit, ich installiere die Android API 17, 18 und 19 mit dem Android SDK. Ich bin auf 3.2 phoneGap Version.
Antworten:
Um zu funktionieren, muss dieser Cordova-Befehl einige Programme verwenden, die sich in Ihrem
sdk/tools
Verzeichnis befinden. Sie müssen auch Apache Ant installiert haben .Dann müssen Sie diese Verzeichnisse zu Ihrer
PATH
Systemvariablen hinzufügen :Hintergrund:
c:\sdk\android
Verzeichnis installiertc:\tools\apache-ant
Verzeichnis installiertDann müssen Sie zwei Systemvariablen erstellen:
ANDROID_HOME
mit demc:\sdk\android
WertANT_HOME
mit demc:\tools\apache-ant
WertSchließlich müssen Sie die
PATH
Variable ändern und diese beiden am Ende desPATH
Werts ' hinzufügen :HINWEIS: Für diejenigen, die Linux verwenden, unterscheidet sich die Anweisung etwas.
Weitere Dokumentation finden Sie hier .
quelle
Für diejenigen, die eine Linux-Entwicklungsumgebung bevorzugen
Bedarf
Zunächst benötigen Sie einige Dinge, um loszulegen. Sie sind:
Android SDK
undApache Ant
. Natürlich müssen SieJava SDK
(JDK) installiert haben.Damit das Android SDK für alle Benutzer funktioniert, müssen Sie die
/etc/environment
Datei ändern und anschließend Ihren PC neu starten. Aber wenn Sie diesen harten Weg nicht wollen - folgen Sie mir, denken Sie an sich selbst als den einzigen PC-Benutzer. Und verwenden Sie die/home/YOUR_USERNAME/.bashrc
Datei zum Bearbeiten.Erinnern wir uns einmal an Ihren Heimweg, um weitere lange Schlangen zu vermeiden. Fügen Sie dieses zu Ihrem hinzu
/home/YOUR_USERNAME/.bashrc
:export HOME="/home/YOUR_USERNAME"
Wir werden dann die
$HOME
Notation verwenden, wenn wir "/home/YOUR_USERNAME directory
" sagen wollen .Einrichten des Android SDK
Laden Sie das Android SDK-Archiv herunter und entpacken Sie es irgendwo. Nehmen wir an, Sie haben Ihr Home-Verzeichnis
$HOME/adt-bundle/
.Fügen Sie diese Zeilen zu Ihrem hinzu
$HOME/.bashrc
:export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
Ant einrichten
Laden Sie wie beim Android SDK ein Archiv herunter und entpacken Sie es in Ihr Home-Verzeichnis. Fügen Sie diese dann zu Ihrem hinzu
.bashrc
:export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"
Ich habe eine über die installiert,
apt-get
so dass meine nicht betroffen war.bashrc
.Änderungen anwenden
Damit diese Änderungen funktionieren, sollten Sie entweder in einem neuen Terminalfenster arbeiten (das nach den Änderungen geöffnet wurde ) oder ausführen
source ~/.bashrc
, um Änderungen im aktuellen Terminalfenster verfügbar zu machen.Einpacken
Am Ende erhalten Sie:
ant
undandroid-bundle
Ein paar Zeilen, hinzugefügt zu
.bashrc
:export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"
quelle
gcj
ist nichtoracle-java7
oder was auch immer. Das sind verschiedene Java-Compiler;)Führen Sie den Befehl "android" in Ihrem Ordner "adt \ sdk \ tools" aus und installieren Sie die neuesten Tools und das neueste SDK. Stellen Sie außerdem sicher, dass Ihr PFAD die richtigen Variablen enthält.
Dazu muss ANT installiert, ein JAVA JDK und ein Android SDK installiert sein
JAVA_HOME (C: \ Programme \ Java \ jdk)
ANT_HOME ({Ameisenort} \ Apache \ Apache-Ameise)
ANDROID_HOME ({android sdk location} \ android-sdk)
Fügen Sie diese zu Ihrer PATH-Variablen hinzu, z. B.% ANT_HOME% / bin;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools;% JAVA_HOME% \ bin
Schließen Sie Ihr cmd, öffnen Sie es erneut und führen Sie Ihren Befehl erneut aus.
Ähnlich wie bei PhoneGap / Cordova Android Development
quelle
android
Befehl ausführen kann , um den Android SDK Manager zu öffnen und Andrid SDK Build-tools 19.0.2 zu installieren. Davor habe ich auch Android SDK von ihrer Website installiert ist , und fügen Sieexport PATH=${PATH}:/home/YOUR_USER_HERE/adt-bundle/sdk/platform-tools:/home/YOUR_USER_HERE/adt-bundle/sdk/tools
zu~/.bash_profile
. Danach ist alles in Ordnung installiert.Ich bin nicht sicher, ob dies Ihr Problem ist, aber ich habe ähnliche Fehler festgestellt, wenn der Cordova-Bibliothekscache mit etwas Beschädigtem verschmutzt wird. Um das Problem zu beheben, müssen Sie nur den Cordova-Cache löschen. Bei der nächsten Verwendung von 'Cordova' wird er automatisch neu gefüllt.
Unter OS X lautet dieses Verzeichnis ~ / .cordova. Unter Windows gehe ich davon aus, dass es sich immer noch um .cordova im Home-Verzeichnis Ihres Benutzers handelt.
quelle
Die Antwort lautet "All of the Above". Gehen Sie wie bei den Umgebungsvariablen erwähnt wie folgt vor:
C: \ Benutzer {IHR_NAME} .cordova \ lib \ android \ cordova \ 3.5.0 \ Framework Bearbeiten Sie die Datei project.properties und ändern Sie target = android-19 in target = android-20.
Vermutlich muss dies auch für die nächste Wiedergabe von Android SDKs geändert werden, bis dieses kleine Problem behoben ist.
quelle
Ich hatte das gleiche Problem, obwohl die Pfadvariablen genau gemäß den Anweisungen festgelegt wurden. Nachdem ich mehrere Dateien durchgesehen hatte, wurde es endlich gelöst. Für mich (Windows 7 Enterprise 64 Bit) musste ich check_reqs.js und create.js aus dem Ordner "C: \ Users \ .cordova \ lib \ android \ cordova \ 3.5.0 \ bin \ lib \" ändern , um den absoluten Pfad einzuschließen für die android.bat. Mein Android SDK befindet sich unter "C: \ Android \ android-sdk".
In check_reqs.js habe ich geändert
child_process.exec('android list targets', function(err, stdout, stderr) {
zu
child_process.exec('C:\\Android\\android-sdk\\tools\\android.bat list targets', function(err, stdout, stderr) {
In create.js habe ich die Anweisung geändert
return exec('android update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
zu
return exec('C:\\Android\\android-sdk\\tools\\android.bat update project --subprojects --path "' + projectPath + '" --target ' + target_api + ' --library "' + path.relative(projectPath, targetFrameworkDir) + '"');
Vergessen Sie auch nicht das doppelte "\\" im absoluten Pfad
quelle
Nach einem langen Kampf, nachdem ich alle oben genannten Vorschläge mehr als einmal mit wachsender Verzweiflung gemacht hatte, öffnete ich einfach mein cmd als Administrator. es funktionierte. Ich glaube, ich habe mich einfach zu sehr an "sudo" gewöhnt, bevor ich diesen PC bekam.
quelle
Für diejenigen, die auf dieses Problem gestoßen sind, füge ich etwas hinzu, das hilfreich sein kann. In meinem Fall waren alle Variablen richtig konfiguriert und dies war immer noch nicht in der Lage, eine Android-Plattform hinzuzufügen, und ich habe mein Avast-Antivirus und Puff deaktiviert! Alles verlief reibungslos. Es geschah, dass das Antivirenprogramm die Erstellung der Plattform blockierte.
Für mich war es auch wichtig, den PC neu zu starten. ;)
Grüße.
quelle
Ich habe das Problem mit Cygwin / Windows 7 festgestellt. Das Problem ergibt sich aus der etwas anderen Art und Weise, wie Cygwin- und MS-DOS-Shells .bat-Dateien behandeln.
Während "Plattform hinzufügen" ruft Cordova "Android" auf:
C:\Users\xxx\.cordova\lib\android\cordova\3.4.0\bin\lib\check_reqs.js
Wo es "Android-Liste Ziele" nennt (in Zeile 73)
"android" sollte in /xx/android-sdk/tools/android.bat oder xx: \ android-sdk \ tools \ android.bat aufgelöst werden. (Und tatsächlich kann ich "android" auf der MS-DOS-Befehlsshell ausführen - aber nicht in der Cygwin-Shell. Dort muss ich ".bat" hinzufügen.)
"android" ohne ".bat" schlägt in der Cygwin-Shell fehl, weil android.exe nicht existiert (nur .bat). Wenn Sie Zeile 73 ändern, um "android.bat list target" aufzurufen, wird Ihr Problem behoben (oder es wird eine angemessene Fehlermeldung angezeigt).
Eine andere Problemumgehung besteht darin, Cordova in einer MS-DOS-Shell anstelle der Cygwin-Shell auszuführen.
quelle
Wir haben hier eine Liste von Lösungen, also füge ich meine hinzu. Das war mir erst klar, als ich es einfach versuchte. Sie sollten% ANT_HOME% \ bin;% ANDROID_HOME% \ tools;% ANDROID_HOME% \ platform-tools zur Variablen USER PATH hinzufügen, nicht zu einer Systemvariablen. Die System-PATH-Variable verkettet automatisch die USER-PATH-Variable und übersetzt Variablen in ihren Wert. Hoffe das hilft jemandem. PS Mein Betriebssystem ist Win 7x64
quelle
Dieses Problem ist normalerweise darauf zurückzuführen, dass für das Android SDK keine PATH-Variable festgelegt wurde.
export HOME="/home/yourname" export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"
quelle
Akzeptierte Antwort ist gut und auf den Punkt.
Ich bin auf eine andere Seite gestoßen, auf der es sehr gut mit Screenshots erklärt wird.
Sie können auf http://bealers.com/2014/06/phonegap-android-development-environment-for-windows/ verweisen.
quelle