1. Möchtest Du unser Team im Android OS-Bereich unterstützen? Details dazu findest du hier!

adb push ... file not found?

Dieses Thema im Forum "Android Allgemein" wurde erstellt von binneuhier, 16.03.2012.

  1. binneuhier, 16.03.2012 #1
    binneuhier

    binneuhier Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    145
    Erhaltene Danke:
    10
    Registriert seit:
    23.02.2012
    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
     
  2. mizch, 17.03.2012 #2
    mizch

    mizch Android-Guru

    Beiträge:
    2,310
    Erhaltene Danke:
    371
    Registriert seit:
    05.11.2010
    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.
     
  3. binneuhier, 19.03.2012 #3
    binneuhier

    binneuhier Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    145
    Erhaltene Danke:
    10
    Registriert seit:
    23.02.2012
    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
     
  4. mizch, 19.03.2012 #4
    mizch

    mizch Android-Guru

    Beiträge:
    2,310
    Erhaltene Danke:
    371
    Registriert seit:
    05.11.2010
    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.
     
  5. binneuhier, 19.03.2012 #5
    binneuhier

    binneuhier Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    145
    Erhaltene Danke:
    10
    Registriert seit:
    23.02.2012
    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 ;)
     
  6. Kranki, 19.03.2012 #6
    Kranki

    Kranki Ehrenmitglied

    Beiträge:
    3,831
    Erhaltene Danke:
    814
    Registriert seit:
    19.07.2009
    Tablet:
    Samsung Galaxy Tab 3 7.0 Lite
    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.
     
  7. mizch, 20.03.2012 #7
    mizch

    mizch Android-Guru

    Beiträge:
    2,310
    Erhaltene Danke:
    371
    Registriert seit:
    05.11.2010

    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.
     

Diese Seite empfehlen