我试图在Android上运行一个phonegap应用程序,当我运行命令时
phonegap run android --emulator --verbose
我收到此错误
Running command "getprop emu.uuid" on emulator-5554...
我如何解决这个问题?我尝试通过命令行和android studio模拟器手动打开它。
答案 0 :(得分:14)
我发现如果我在发出run命令之前手动启动AVD,那么我就不会收到此错误。另外我发现运行旧版本的android可以解决这个问题。我不确切知道这是怎么发生的。运行窗户10。
答案 1 :(得分:7)
我在带有qomu的fedora 23上使用cordova的Android 6.0 API Level 23设备上收到此错误。
它将运行cordova emulate android
并且模拟器会显示,但应用程序无法在模拟器中安装或打开。
我的问题是由于cordova试图通过在adb shell上轮询getprop emu.uuid
来等待设备准备就绪。
在adb shell中运行getprop emu.uuid
未产生任何结果。查看getprop
的输出显示可用属性为dev.bootcomplete
。
我通过更改以下代码修改了平台/ android / cordova / lib / emulator.js(第215-230行),等待dev.bootcomplete
为1而不是轮询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;
}
})
);
});
...
当您一次运行多个模拟器时,这可能会中断。
看起来问题出在模拟器上。 cordova运行emulator -avd <device-name> -prop emu.uuid=cordova_emulator_<date>
但emu.uuid
未在模拟器中正确设置。
希望这有助于某人。