繁体   English   中英

Android即时应用:如何调试即时应用?

[英]Android Instant Apps: How to debug an instant app?

当我在Android Studio上调试我的即时应用程序时,调试器会附加到即时应用程序进程并暂停大多数断点处的执行。 但是它似乎忽略了我的主要活动的onCreate方法中的断点。 我尝试过“调试”和“将调试器附加到Android进程”选项。 我错过了什么?

有关如何使用Android Studio调试器调试Android应用程序的基本信息,请参阅开发人员文档调试您的应用程序

在调试即时应用程序时,Android Studio调试器通常在大多数情况下正常工作。 但是,您会注意到,在运行Android N及更低版本的设备上,调试器将无法在应用程序生命周期的早期(例如Application.onCreateActivity.onCreate )停止。

当您的即时应用程序启动并运行时,它将在您的应用程序包名称下运行。 但是,在应用程序启动期间,它在临时程序包名称下运行时会有一段很短的时间,格式如下:

com.google.android.instantapps.supervisor.isolated[0-9]+

此临时名称由运行时分配。 由于Android Studio不知道此名称,因此调试器不会附加到此进程。

解决方法是找出此临时名称并使用adb将应用程序设置为调试。 这可以通过在运行应用程序之前在终端中运行以下命令来完成。 它将在您的应用启动时打印出该名称。

=> adb shell 'while true; do ps | grep com.google.android.instantapps.supervisor.isolated; sleep 1; done'
u0_i6     31908 630   1121664 29888          0 00ea57eed4 R com.google.android.instantapps.supervisor.isolated15

识别软件包名称后,使用以下命令暂停,并使您的即时应用程序进程等待调试程序。 然后正常附加调试器,但通过单击“显示所有进程”在“选择进程”窗口中选择临时进程名称。

=> adb shell am set-debug-app -w --persistent com.google.android.instantapps.supervisor.isolated15

我最近也调试了即时应用程序的问题。 有多个日志消息

“等待应用程序启动调试服务器”

在调试窗口和几次重审后

“无法连接到远程进程。中止调试会话。”

我解决问题的方法是使用Android studio “运行”菜单中的“ 附加到处理”选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM