2015-01-20 5 views
5

ich gerade begonnen haben, mobile Anwendungen, außer dies mit Cordova mit dem Rahmen Ionic, und alles funktioniert gut, zu erstellen: CordovaApp-debug.apk - rm fehlgeschlagen für -f, keine solche Datei oder das Verzeichnis

adb install -r platforms/android/ant-build/CordovaApp-debug.apk
. Ich bekomme Folgendes:

3086 KB/s (3489699 bytes in 1.104s) 
     pkg: /data/local/tmp/CordovaApp-debug.apk 
Success 
rm failed for -f, No such file or directory

Und ich denke, deshalb habe ich Probleme, wenn ich adb logcat verwende.

Es ist erwähnenswert, dass ich "alles" (Android, Java, Git, Ant und Nodejs) in meinen Umgebungsvariablen eingestellt habe, und ich kann meine Anwendungen bauen und sie auf meinem Samsung Galaxy S3 ausführen.

Grüße,

+1

Immer das gleiche hier bei der Verwendung von Android Studio „Erfolg \ n rm fehlgeschlagen“, aber eine manuelle Installation auf die Nachricht von einem Endgerät zu einem Samsung Galaxy Note 2. Die App installiert und läuft ohne Probleme, nur ein wenig seltsam zu tun . Ich habe jedoch kein Problem mit "logcat" von einem Terminal. – Tigger

+0

Ich habe auch keine Probleme beim Installieren und Ausführen der Apps, es ist nur diese Nachricht. Wenn ich Eclipse verwende, habe ich keine Probleme mit Logcat. –

Antwort

2

stelle ich die Umgebungsvariable "ADB_TRACE = 1", um zu sehen, was

Umgebungsvariablen passiert:
ADB_TRACE - Debug-Informationen zu drucken. Eine durch Kommata getrennte Liste der folgenden Werte 1 oder alle, adb, Steckdosen, Pakete, rwx, USB, Sync, sysdeps, Transport, JDWP

In meinem Fall "adb" versucht, die apk-Datei zu löschen von /data/local/tmp/

Linie 9966: System/core/adb/adb_client.c :: adb_connect(): adb_connect:
Service-Shell: rm -f/data/local/tmp/myapp.apk

So scheint es, dass "adb" nicht die Rechte hat, die Datei zu löschen.

+0

Seltsam! Obwohl das nicht wirklich ein Problem ist, ist es ziemlich abschreckend. Ja, ich sehe das gleiche Verhalten. –

+2

Nun, es ist ein Problem, wenn Sie eine Reihe von verschiedenen APKs und eine Kopie jeder Installation bleibt in '/ data/local/tmp' ... schließlich Ihre'/data' Partition füllt. Die Lösung, 'adb shell rm/data/local/tmp/\ *' regelmäßig auszuführen. Übrigens glaube ich nicht, dass dies etwas mit Berechtigungen zu tun hat. Ich denke nur, dass die Kopie von 'rm' auf einigen Versionen von Android das '-f'-Flag nicht unterstützt, was dazu führt, dass der Befehl fehlschlägt. – Perry

2

Das Problem, wie es in einem Kommentar vorgeschlagen, ist, dass die gebündelte rm nicht immer die Option -f unterstützt. Um zu überprüfen, ob dies tatsächlich der Fall ist, können Sie von einer AdB-Shell-Eingabeaufforderung entweder den Befehl rm mit und dann ohne -f versuchen: ersterer wird fehlschlagen oder nur "rm" versuchen: er wird wahrscheinlich "rm [-rR" ausgeben ] target ", während es" rm [-frR] usw. "zurückgibt, oder einige, wenn es die Option -f unterstützt.

jedoch zumindest auf meinem Gerät ist dies nicht gutartig: die App nicht installiert ist!