Stavo ricevendo questo errore su un'API Android 6.0 Livello 23 Dispositivo con cordova su fedora 23 con qemu.
Eseguirebbe il cordova emulate android
e l'emulatore mostrerebbe ma l'applicazione non si installerebbe o non si aprirà nell'emulatore.
Il mio problema è stato causato da cordova che cerca di attendere che il dispositivo sia pronto con il polling getprop emu.uuid
sulla shell adb.
L'esecuzione di getprop emu.uuid
nella shell adb non ha prodotto alcun risultato. Guardando l'output di getprop
viene mostrato che una proprietà disponibile è dev.bootcomplete
.
ho riparato cambiando il seguente codice nel piattaforme/android/Cordova/lib/emulator.js (circa linee 215-230) per aspettare dev.bootcomplete
essere 1 invece di polling emu.uuid
:
module.exports.wait_for_emulator = function(uuid) {
...
new_started.forEach(function (emulator) {
promises.push(
//Adb.shell(emulator, 'getprop emu.uuid') REMOVE THIS
Adb.shell(emulator, 'getprop dev.bootcomplete')
.then(function (output) {
//if (output.indexOf(uuid) >= 0) { REMOVE THIS
if (output == 1) {
emulator_id = emulator;
}
})
);
});
...
Questo potrebbe interrompersi quando si eseguono più emulatori contemporaneamente.
Sembra che il problema sia con l'emulatore. cordova corre emulator -avd <device-name> -prop emu.uuid=cordova_emulator_<date>
ma emu.uuid
non è impostato correttamente nell'emulatore.
Spero che questo aiuti qualcuno.
Eliminare l'AVD e ricreare ha funzionato per me. –