2

我有一个在 Android 设备和 ARC Welder/Mac 上运行良好的 Android 应用程序。当我尝试在 ChromeOS 上运行它时,它崩溃了,我得到了“悲伤的拼图脸”(插件崩溃)。

因为插件崩溃了,所以我无法访问 logcat。似乎每次应用程序启动时,logcat 都会重新初始化,所以我也看不到上次崩溃的任何输出。

我查看了 /var/log 并没有找到任何线索。我尝试了最新的“稳定”和最新的“开发通道”构建——结果相同。

4

1 回答 1

3

如果您为“shell”定义了一个非空的元数据列表设置,您可以覆盖为启动应用程序而发出的正常命令。您可以将其设置为什么都不做的微不足道的事情:

"shell": [""]

如果您随后使用此元数据集加载 CRX 文件,并尝试启动应用程序,它将启动,但仅显示启动屏幕(应用程序图标)。

Android 会话已启动,但您的应用程序实际上并未启动。

您现在有机会从 javascript 控制台发出一些 shell 命令。

我认为您可以做的是logcat -f /sdcard/logfile.txt将日志写入持久位置,然后启动您的应用程序:

plugin.shell('logcat -f /sdcard/logfile.txt');
plugin.shell('am start com.package.name/com.package.name.ActivityName')

然后当您的应用程序崩溃时,只需重新启动它,但现在发出 shell 命令:

plugin.shell('cat /sdcard/logfile.txt');

这应该打印出持久的日志,并希望指出错误的方法。

于 2015-05-01T01:15:55.980 回答