如何调试在 ChromeOS 上导致插件崩溃的 android 应用

How to debug an android app that crashes the plugin on ChromeOS

我有一个 android 应用程序,可以在 Android 设备和 ARC Welder/Mac 上正常运行。当我尝试在 ChromeOS 上 运行 它崩溃时,我得到 "sad puzzle face"(插件崩溃)。

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

我调查了 /var/log,但没有找到任何线索。 我尝试了最新的 "stable" 和最新的 "dev-channel" 构建 - 结果相同。

如果您为 "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');

这应该会打印出持久化的日志,并有望指出错误的方向。