【发布时间】:2018-11-28 19:50:27
【问题描述】:
在通过 Ionic 框架构建新的 debug-apk 文件并将其部署到 Android 模拟器后,我收到了 getprop,dev.bootcomplete 错误。
模拟器弹出到 Android 的主屏幕,但该应用程序未安装在模拟器上,因此在模拟器启动时不会打开。
我查看过有关此问题的类似帖子,并尝试了 adb 中的不同步骤,为模拟器删除和创建新设备,并且我为我正在测试的 API 级别安装了 x86 和 x86_64 映像,其中是 API 26. 我不确定我还能做什么。我不相信从cordova中删除android然后重新添加它会解决这个问题。错误日志如下。
编辑:
到目前为止,我看到的关于这个问题的每一篇帖子都没有解决这个问题。我还没有卸载并重新安装 Android Studio 或任何 SDK 工具,但我认为我不需要。
可能导致问题的原因是我不得不将我的 NDK 版本恢复到 r16b 而不是更新的 r17b,因为我的应用程序没有使用 ionic cordova 正确构建。它现在正在正确构建,但模拟器仍然存在此问题并且不会安装我的应用程序。
错误日志:
emulator: Requested console port 5584: Inferring adb port 5585.
HAX is working and emulator runs in fast virt mode.
(node:11468) UnhandledPromiseRejectionWarning: CordovaError: Failed to execute shell command "getprop,dev.bootcomplete"" on device: Error: C:\Users\noaht\AppData\Local\Android\sdk\platform-tools\adb.exe: Command failed with exit code 1 Error output:
error: device still connecting
at C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\lib\Adb.js:88:25
at _rejected (C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:864:24)
at C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:890:30
at Promise.when (C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:1142:31)
at Promise.promise.promiseDispatch (C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:808:41)
at C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:624:44
at runSingle (C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:137:13)
at flush (C:\Noah\Noah School\SSAapp\SMAPP\platforms\android\cordova\node_modules\q\q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:131:7)
at process._tickCallback (internal/process/next_tick.js:180:9)
(node:11468) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:11468) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
emulator: S
aving state on exit with session uptime 4695 ms
【问题讨论】:
-
是否有任何解决方案可以解决此问题,因为该应用程序没有通过 Android Studio 安装在我的模拟器上,但它正在我的手机上安装和运行?
-
jcesarmobile 的答案有效。他正确地指出它仅在 Android 7.1.0+ 中得到修复。我正在使用 6.4.0 所以 emulator.js 中的代码更改对我来说是一个修复。
标签: android cordova ionic-framework android-emulator