Accessory Development Kit

  • 14 Antworten
  • Letztes Antwortdatum
M

Mattam123

Neues Mitglied
0
Hallo. Ich habe mich gerade hier im Forum angemeldet in der Hoffnung, dass mir hier jemand helfen kann.

Leider bin ich auf ein Problem gestoßen, dass ich scheinbar alleine nicht lösen kann und hoffe, dass das Forum mir dabei eventuell helfen kann. Ich werde versuchen mein Problem sehr genau zu beschreiben.

Ich möchte derzeit ein Arduino ADK 2560 für eine Android Open Accessory App vorbereiten und habe mir dafür ADK besorgt (IDE etc.). Nun versuche ich die im nachfolgenden Link beschriebenen Schritte zu unternehmen um eine Beispiel-App in die Arduino-IDE laden zu können:

Accessory Development Kit 2012 Guide | Android Developers

Unter "Developing Accessories with ADK 2012" gibt es den Punkt 2:
"Download and setup the repo tool, as described on the Android open source project site", der einen weiter leitet auf folgende Seite:

Downloading the Source | Android Developers

Da ich Windows7 - User bin, habe ich mir natürlich wie beschrieben folgende Programme/Packages heruntergeladen und installiert:
- curl 7.36.0
- python 2.6
- Git 1.9.2
- cygwin x86_64

Mein Problem ist dass ich das repo init Kommando nicht aufrufen kann, ich erhalte eine Python-Fehlermeldung:
Code:
$ repo init -u https://android.googlesource.com/platform/manifest
/usr/bin/env: python: No such file or directory

Natürlich existiert die entsprechende Ordnerstruktur "/usr/bin/env" und ich habe sicher gestellt, dass bis zu dieser Stelle jeder Punkt sorgfältig ausgeführt wurde.
Ich bin fast sicher, dass dies entweder an einer falschen Ordnerstruktur oder an der Windows-PATH-Umgebungsvariable liegen muss, schaffe es aber einfach nicht, den Fehler zu beheben. =(

Ich habe heute einen ganzen Tag verschwendet ohne Ergebnisse. Kann mir jemand erklären, wie die Struktur der Ordner auszusehen hat, welche Konsole ich verwenden muss und allgemein was falsch läuft??

Vielen Dank an alle Denker! :thumbup:
 
Zuletzt bearbeitet:
1. Ich würde mir lieber ne virtuelle Maschine aufsetzen, als Cygwin zu nutzen.
2. Hast du "repo" auch installiert mit:
Code:
$ curl http://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Habs gerade selbst noch mal getestet. In ner VM läufts einwandfrei. Musste nur noch mit "sudo apt-get install git" GIT nachinstallieren.

Ich würde mir die Krücke mit Cygwin nicht antun...

PS. wird dir wahrscheinlich jetzt nicht wirklich eine Hilfe sein, weil ich dir mit Cygwin nicht weiterhelfen konnte.
 
Mattam123 schrieb:
ein Problem ist dass ich das repo init Kommando nicht aufrufen kann, ich erhalte eine Python-Fehlermeldung:
Code:
$ repo init -u https://android.googlesource.com/platform/manifest
/usr/bin/env: python: No such file or directory

Die Meldung wird nicht von Python kommen sondern von der Shell die das Python Script aufrufen will.

http://de.wikipedia.org/wiki/Shebang

Shebang im Script anpassen oder den Aufruf des Scripts anpassen.

Oder dafür sorgen das unter /usr/bin ein env Programm liegt welches beim Aufruf mit dem Parameter python den Pfad zur Python exe zurückgibt.


cu
 
Zuletzt bearbeitet:
Hallo. Danke für die Antworten.

KatyB schrieb:
1. Ich würde mir lieber ne virtuelle Maschine aufsetzen, als Cygwin zu nutzen.
2. Hast du "repo" auch installiert mit:
Code:
$ curl http://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Habs gerade selbst noch mal getestet. In ner VM läufts einwandfrei. Musste nur noch mit "sudo apt-get install git" GIT nachinstallieren.

Ich würde mir die Krücke mit Cygwin nicht antun...

PS. wird dir wahrscheinlich jetzt nicht wirklich eine Hilfe sein, weil ich dir mit Cygwin nicht weiterhelfen konnte.

Ja ich habe es installiert. Zumindest gehe ich davon aus, da ich diesen Schritt ohne Fehlermeldung ausführen konnte. Sollte ich es mit Cygwin nicht schaffen kann ich ja mal über VirtualBox oder so versuchen das hinzukriegen. Kann man die über den client geladenen libs dann einfach über einen shared folder auf windows ziehen?
 
Ich nutze VirtualBox und da kann man einen "gemeinsamen Ordner" definieren, bzw. einstellen, ob die Zwischenablage auch auf dem Host verfügbar ist - also ja. :)
 
rihntrha schrieb:
Die Meldung wird nicht von Python kommen sondern von der Shell die das Python Script aufrufen will.

Shebang

Shebang im Script anpassen oder den Aufruf des Scripts anpassen.

Oder dafür sorgen das unter /usr/bin ein env Programm liegt welches beim Aufruf mit dem Parameter python den Pfad zur Python exe zurückgibt.


cu

Hallo.

Wow öhhm ich bin wirklich nicht gerade ein Experte mit Unix-basierten Systemen. So wie ich das verstanden habe kann ich also mit dem shebang-Befehl ein Programm spezifizieren, mit dem ich dieses Kommando ausführen möchte.

Wie sollte dieser Aufruf dann aussehen?

So:
#!/usr/bin/env python repo init -u https://...

Oder so:
#!C:\Python26\python.exe repo init -u https://...

beide Aufrufe verursachen zwar die Fehlermeldung nicht mehr, tun aber auch irgendwie nichts^^ Was mache ich hier noch falsch? Weißt du wie die Ordnerstruktur aufgebaut sein sollte (also wo ist der Git-Folder, wo die WorkindDirectory usw. vllt liegts ja daran)?
 
In einer beliebigen Textdatei steht in der ersten Zeile (das Shebang) mit welchen Programm das ausgeführt werden kann.

Also du rufst "/test/test.py <parameter>" auf, die Shell schaut in der ersten Zeile und findet "/Python26/python.exe". Also ruft die Shell "/Python26/python.exe /test/test.py <parameter>" auf.
Du kannst auch an der Shell gleich "/Python26/python.exe /test/test.py <parameter>" eingeben, dann wird das Shebang ignoriert.

Also eigentlich so im Python Script:
Code:
#!C:\Python26\python.exe
Keine Ahnung ob cygwin das so frisst, oder ob der Laufwerksbuchsabe da Ärger macht.

cu
 
rihntrha schrieb:
In einer beliebigen Textdatei steht in der ersten Zeile (das Shebang) mit welchen Programm das ausgeführt werden kann.

Also du rufst "/test/test.py <parameter>" auf, die Shell schaut in der ersten Zeile und findet "/Python26/python.exe". Also ruft die Shell "/Python26/python.exe /test/test.py <parameter>" auf.
Du kannst auch an der Shell gleich "/Python26/python.exe /test/test.py <parameter>" eingeben, dann wird das Shebang ignoriert.

Also eigentlich so im Python Script:
Code:
#!C:\Python26\python.exe
Keine Ahnung ob cygwin das so frisst, oder ob der Laufwerksbuchsabe da Ärger macht.

cu

hey. und diese Textdatei muss dann im Ordner usr/bin sein? welchen namen muss sie haben oder ist das egal?

Der ursprüngliche Beitrag von 10:58 Uhr wurde um 11:00 Uhr ergänzt:

KatyB schrieb:
Ich nutze VirtualBox und da kann man einen "gemeinsamen Ordner" definieren, bzw. einstellen, ob die Zwischenablage auch auf dem Host verfügbar ist - also ja. :)

Hm. Meine Ubuntu-Virtualbox scheint dann aber curl nicht mehr zu kennen. Sagt mir, dass es nicht installiert ist. Wie kann ich denn die installierten programme von windows übernehmen?
 
Es geht ja um die vorhandenen Python Programme. Offensichtlich kann eines davon nicht gestartet werden.
Einfach mal mit nem Text Editor öffnen.

Die HDD nach Dateien mit dem Inhalt "/usr/bin/env" durchsuchen, dann findest du die.

cu
 
rihntrha schrieb:
Es geht ja um die vorhandenen Python Programme. Offensichtlich kann eines davon nicht gestartet werden.
Einfach mal mit nem Text Editor öffnen.

Die HDD nach Dateien mit dem Inhalt "/usr/bin/env" durchsuchen, dann findest du die.

cu

Wenn ich danach suche erhalte ich 10 Dateien, in denen in der ersten zeile folgendes steht:
#!/usr/bin/env perl

Muss ich bei allen Dateien das perl durch python ersetzen?
Die Dateien befinden sich alle im extrahierten curl-7.36.0-Ordner
 
Nö, das sind ja nicht die die in Frage kommen. Das sind Perl Scripte.

Vermutlich ist ne VM doch einfacher als den Kram unter Windows zum laufen zu bekommen.

cu
 
Mattam123 schrieb:
Hm. Meine Ubuntu-Virtualbox scheint dann aber curl nicht mehr zu kennen. Sagt mir, dass es nicht installiert ist. Wie kann ich denn die installierten programme von windows übernehmen?
Installierte Programme von Windows nach Linux übernehmen? Gar nicht. Du kannst ja auch deine Windowsprogramme nicht auf deinem Tablet/Smartphone benutzen.
Du hast dir curl aus Cygwin in die VM übernommen? Würde ich nicht machen. Wenn Linux "curl" nicht findet einfach über den Paketmanager per "sudo apt-get install curl" nachinstallieren (wenn du einen anderen Paketmanager als "apt" hast, musst du natürlich diesen nutzen). War bei mir bei Linux Mint 13 (ist zwar auch schon etwas älter aber funktioniert immerhin XD - Ende Mai kommt eh wieder ne LTS raus) schon vorinstalliert. Kenne eigentlich keine Distro wo das nicht so ist. ^.-
Statt curl kann man auch wget verwenden.
rihntrha schrieb:
Vermutlich ist ne VM doch einfacher als den Kram unter Windows zum laufen zu bekommen.
Finde ich auch. Habs damals auch mal mit Cygwin versucht, aber bin selbst daran gescheitert. Da ist ne VM wirklich viel schneller aufgesetzt usw. - und das richtige Handling mit Linux lernt man auch noch dabei.
 
Zuletzt bearbeitet:
KatyB schrieb:
Installierte Programme von Windows nach Linux übernehmen? Gar nicht. Du kannst ja auch deine Windowsprogramme nicht auf deinem Tablet/Smartphone benutzen.
Du hast dir curl aus Cygwin in die VM übernommen? Würde ich nicht machen. Wenn Linux "curl" nicht findet einfach über den Paketmanager per "sudo apt-get install curl" nachinstallieren (wenn du einen anderen Paketmanager als "apt" hast, musst du natürlich diesen nutzen). War bei mir bei Linux Mint 13 (ist zwar auch schon etwas älter aber funktioniert immerhin XD - Ende Mai kommt eh wieder ne LTS raus) schon vorinstalliert. Kenne eigentlich keine Distro wo das nicht so ist. ^.-
Statt curl kann man auch wget verwenden.

Finde ich auch. Habs damals auch mal mit Cygwin versucht, aber bin selbst daran gescheitert. Da ist ne VM wirklich viel schneller aufgesetzt usw. - und das richtige Handling mit Linux lernt man auch noch dabei.

Hallo. habs endlich zum Laufen gebracht. Heute ist echt nicht mein Tag, ich hatte bei den Software Sources nicht auf main source gestellt (dachte das passiert per default wenn man neues image anlegt) und drum konnte ich ewig nix installieren.

Ich hatte irgendwie in Erinnerung, dass man installierte Programme übernehmen kann, habs aber eh nicht mehr gefunden^^ Naja er downloaded jetzt die Dateien, mal schauen wie lange das dauern wird^^

Danke für eure Hilfe, Problem hat sich damit erledigt. In diesem Forum kriegt man ja schnell gute Antworten =)

Beste Grüße
 
Hmm jetzt habe ich gerade noch ein neues Problem erhalten. Wenn ich die VM das Repo syncen lasse loggt Ubuntu irgendwann bevor der Download abgeschlossen ist (nach ca 40 min) meinen User Account aus oO

Danach ist alles wieder weg und ich muss von vorne anfangen oO

Bin aber immer aktiv während dem Download drinnen (ist also keine Energiesparmaßnahme)

Ideen?
 
Zuletzt bearbeitet:
Machs dir einfach und gewöhne dir gleich an screen zu nutzen.

Zum Timeout habe ich keine Ideen.

cu
 
Zurück
Oben Unten