温馨提示:这篇文章已超过428天没有更新,请注意相关的内容是否还可用!
摘要:在Android Studio中,"Layout Inspector"工具对于开发者来说是一个重要的布局调试工具。在Android 14 userdebug设备上,该工具可能无法正常运行。这可能是由于版本兼容性问题或设备配置差异导致的。开发者可能需要寻找替代方法或更新工具以适应新的系统版本,以确保有效的布局调试。
对于从事ROM开发的开发者来说,和"Attach Debugger to Android Process"是Android Studio中非常实用的工具,它们能够帮助开发者查看布局和调试系统进程(如setting、launcher、systemui等)。
问题描述:
最近开始一个基于Android 14的项目,在刷入userdebug版本后,发现“Layout Inspector”和“Attach Debugger to Android Process”无法正常使用,与user版本一样,无法查看系统的进程,对比之前半年做的Android 13的userdebug设备,这两个工具可以正常使用,已经提交了一个问题给Google寻求帮助。
解决方案:
在与Google同事交流并提供了日志和截图后,他们给出了反馈,从Android 14开始,如果你需要调试一个非可调试的Java进程并且使用的是userdebug构建版本,你需要通过运行以下命令来启用JDWP(Java Debug Wire Protocol):
adb shell setprop persist.debug.dalvik.vm.jdwp.enabled 1 adb reboot
这个改变是由Android平台(而非Layout Inspector)做出的,执行上述命令后,问题得到了解决,Android 14的userdebug版本设备能够正常使用“Layout Inspector”和“Attach Debugger to Android Process”工具,再次享受调试系统进程的乐趣。
问题原因:
在源码中搜索“persist.debug.dalvik.vm.jdwp.enabled”发现这是Google新加的代码,在之前的Android 13项目中没有这段逻辑,这段新增的代码可能是为了加强Android系统的安全性或进行其他优化而引入的,由于这一改变,开发者在使用userdebug版本进行调试时需要额外启用JDWP。
还没有评论,来说两句吧...