2015-01-20 9 views
5

Ho appena iniziato a creare app mobili utilizzando Cordova con il framework Ionic e tutto funziona correttamente, ad eccezione di questo: CordovaApp-debug.apk - rm non riuscito per -f, nessun file o directory

adb install -r platforms/android/ant-build/CordovaApp-debug.apk
. Ottengo il seguente:

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

E immagino che sia il motivo per cui ho problemi, quando sto usando adb logcat.

Vale la pena ricordare che ho impostato "tutto" su (android, java, git, ant e nodejs) nelle variabili di ambiente, e posso compilare le mie applicazioni ed eseguirle sul mio Samsung Galaxy S3.

saluti,

+1

Avere lo stesso "Success \ n rm failed" qui con l'utilizzo di Android Studio, ma facendo un'installazione manuale da un terminale a un Samsung Galaxy Note 2. L'app si installa e funziona senza problemi, solo un po 'strano sul messaggio . Tuttavia non ho alcun problema con 'logcat' da un terminale. – Tigger

+0

Né ho problemi con l'installazione e l'esecuzione delle app, è solo quel messaggio. Quando utilizzo Eclipse, non ho problemi con logcat. –

risposta

2

ho impostato la variabile d'ambiente "ADB_TRACE = 1" per vedere cosa sta succedendo

variabili ambientali:
ADB_TRACE - Stampa informazioni di debug. Un elenco separato da virgole dei seguenti valori 1 o tutti, adb, prese di corrente, i pacchetti, rwx, USB, sincronizzazione, sysdeps, trasporti, JDWP

Nel mio caso separato, "adb" sta cercando di eliminare il file apk da /data/local/tmp/

linea 9966: sistema/core/adb/adb_client.c :: adb_connect(): adb_connect:
shell servizio: rm -f/data/local/tmp/myapp.apk

Quindi, sembra che "adb" non abbia i diritti per eliminare il file.

+0

Strano! Anche se questo non è proprio un * problema *, è piuttosto scoraggiante. Sì, sto vedendo lo stesso comportamento. –

+2

Beh, è ​​un problema quando si installa un mazzo di diversi APK e una copia di ciascun viene lasciato in '/ data/local/tmp' ... alla fine il' partizione/data' riempie. La soluzione per eseguire periodicamente 'adb shell rm/data/local/tmp/\ * '. Per inciso, non penso che questo abbia nulla a che fare con le autorizzazioni, penso solo che la copia di 'rm' su alcune versioni di Android non supporta il flag' -f' che causa il fallimento del comando. – Perry

2

Il problema, come suggerito in un commento, è che il pacchetto rm non supporta sempre l'opzione -f. Per verificare che questo sia effettivamente il caso, da un prompt della shell adb puoi provare il comando rm con e quindi senza -f: il primo fallirà, o provare solo "rm": probabilmente farà eco "rm [-rR ] target "mentre sarebbe echo" rm [-frR] etc "o alcuni di essi se supportasse l'opzione -f.

Tuttavia almeno sul mio dispositivo questo non è benigno: l'app non è installata!

Problemi correlati