adb push ... file not found?

B

binneuhier

Fortgeschrittenes Mitglied
10
Hallo

leider bin ich mir nicht sicher ob das Forum hier richtig ist. Ich wusste es aber nicht besser. Auch ist meine Frage eher linux-allgemein aber ich denke das hier schon mehr das Problem hatte und vl schnell eine Antwort am start.

also:
Immer wenn ich mit "adb push" dateien kopiere, dann sehe ich sie zwar mit "ls" aber wenn ich damit was machen will...zb. rm/mv/cp/./ dann sagt mir die (adb)shell "file not found".

komischerweiße findet man mit google auch nichts. anscheinend benutzt jeder push nur um apk datei zu kopieren :(

Persönlich tippe ich auf irgendwelche ACLs oder Zeichensatzprobleme. Die NTFS ACLs sind ja nicht kompatibel zu den POSIX ACLs. ls zeigt ja leider nur rechte und owner/group an aber keine zusätzlichen Dateiinfos. "file" ist irgendwie auf android nicht vorhanden um mal den zeichensatz nachzusehen.

btw: wie kann ich den unter Android dateien bearbeiten? es ist zwar ein vi und nano installiert aber zum bedienen bin ich zu blöd (die desktop-versionen von vi oder nano sehen ganz anders aus)
wenn ich wüsste wie man dateien bearbeitet müsste ich sie nicht immer auf den PC kopieren ;)
(ich denke vi und nano kommen aus der busybox)

gruß und danke
 
Dein Problem mit adb push könntest Du am besten durch Copy&Paste aus der Linux-Konsole, in der Du das machst, illustrieren.

ACLs werden von den gängigen Linux-Kerneln für Android meines Wissens nicht unterstützt, das kann's also kaum sein.

Fielnamen unter Linux sind Binärfolgen ohne besonderen Zeichensatz, die Interpretation (Zeichensatzumsetzung) übernimmt das User Interface. Ein Filename hat keinen eigenen Zeichensatz, er wird je nach darstellender Umgebung dann halt unterschiedlich dargestellt. Unter Android/Java läuft die darstellende Umgebung einheitlich mit UTF-8. Das kann's also auch kaum sein.

Also mache doch bitte eine Darstellung des Problems in der folgenden Form:
Code:
[COLOR=PaleGreen]hcz@Xelzbrot:/home/hcz/x[/COLOR]$ adb push testdatei /sdcard/
190 KB/s (9676 bytes in 0.049s)
[COLOR=PaleGreen]hcz@Xelzbrot:/home/hcz/x[/COLOR]$ adb shell
$ cd /sdcard
$ ls testdatei
testdatei
$ rm testdatei
$ exit
[COLOR=PaleGreen]hcz@Xelzbrot:/home/hcz/x[/COLOR]$
Wie Du siehst, funktioniert's hier.
 
alles klar ;)

Code:
adb pull /system/etc/init.d/blabla d:\

dann tu ich blabla mit dem standart win7 wordpad bearbeiten

Code:
adb push d:\blabla /system/etc/init.d
adb shell
cd /system/etc/init.d
chown xxx:yyy blabla
chmod 755 blabla
ls -la
./blabla

ls zeigt mir die datei an auch chown und chmod funktionieren aber dann nach dem aufruf:

Code:
./blabla: not found
 
Wie sieht den blabla aus?

Warum ich frage: Wurde es mit Windows-Bordmitteln erstellt und verwendet DOS-Zeilenenden? Dann beginnt es möglicherweise mit der Zeile „#!/bin/sh<cr>” und das kann nicht gefunden werden. Auch andere Fehler sind dann möglich. Stelle also sicher, dass keine DOS-Zeilenenden in blabla sind.
 
mizch schrieb:
Wie sieht den blabla aus?

Warum ich frage: Wurde es mit Windows-Bordmitteln erstellt und verwendet DOS-Zeilenenden? Dann beginnt es möglicherweise mit der Zeile „#!/bin/sh<cr>” und das kann nicht gefunden werden. Auch andere Fehler sind dann möglich. Stelle also sicher, dass keine DOS-Zeilenenden in blabla sind.

ja ich nutze bordmittel, dazu habe ich sie ja ;)
sowas ähnliches hatte ich eigendlich gemeint mit dem zeichensatz-fehler.

naja aber es hat wirklich damit was zu tun.
Wenn ich die Datei mit dem editor öffne dann hat sie überhaupt keine Zeilenumbrüche (blabla ist eine Datei die vom Gerät kommt und auch auf diesem erstellt wurde)
dann öffne ich sie mit wordpad und dann hat sich zeilenumbrüche. Nachdem ich meine Änderungen gemacht habe, dann hat die Datei auch im editor plötzlich Zeilenumbrüche. d.h. es liegt ziemlich sicher an dem Fehler den du beschrieben hast.

komisch ist nur das cat/head/tail jedoch alles normal anzeigt auf dem Gerät. also ohne <cr> am ende jeder Zeile.

wie geht man da jetzt vor? mit welchem editor kann ich meine dateien jetzt bearbeiten? am liebsten würde ich das ja direkt am Gerät machen aber wie gesagt, dieses busybox vi und nano ist irgendwie nicht zu gebrauchen ;)
 
mizch schrieb:
Wie sieht den blabla aus?

Warum ich frage: Wurde es mit Windows-Bordmitteln erstellt und verwendet DOS-Zeilenenden? Dann beginnt es möglicherweise mit der Zeile „#!/bin/sh<cr>” und das kann nicht gefunden werden. Auch andere Fehler sind dann möglich. Stelle also sicher, dass keine DOS-Zeilenenden in blabla sind.

Das beschriebene Problem ist, dass man die Datei nicht verschieben, löschen oder kopieren kann, Der Inhalt der Datei ist da doch völlig irrelevant.
 
komisch ist nur das cat/head/tail jedoch alles normal anzeigt auf dem Gerät. also ohne <cr> am ende jeder Zeile.


Das <cr> siehst Du beim cat nicht, da es ein nicht druckbares Zeichen ist. Du müsstest einen Dump machen, denn es führt sonst lediglich einen Sprung zum Zeilenbeginn aus, den der nachfolgende <lf> (newline) ohnehin macht.

Google mal nach dos2unix.exe. Das ist ein kleines Tool zum Wandeln der Zeilenenden.
 

Ähnliche Themen

olsch
Antworten
0
Aufrufe
339
olsch
olsch
N
Antworten
0
Aufrufe
478
nixgibts
N
Rieselrass
  • Rieselrass
Antworten
8
Aufrufe
6.037
craxxtor
craxxtor
Zurück
Oben Unten