Android Studio模拟器进程终止,提示adb设备离线求助
解决方案
针对你在Ubuntu系统下遇到的AVD进程终止、adb设备离线及exit code 139问题,可尝试以下步骤:
1. 解决adb路径冲突
日志中出现两个不同路径的adb(/home/kieranhm/Android/Sdk/platform-tools/adb和/usr/bin/adb),路径冲突会导致adb与模拟器通信异常:
- 执行
echo $PATH查看环境变量,确认/usr/bin是否位于SDK的platform-tools路径之前。 - 编辑
~/.bashrc或~/.zshrc(根据你使用的shell),添加:export PATH="/home/kieranhm/Android/Sdk/platform-tools:$PATH" - 执行
source ~/.bashrc(或对应配置文件)使修改生效,再执行which adb验证输出为SDK路径下的adb。
2. 排查硬件加速问题(exit code 139常见原因)
exit code 139通常是段错误,和虚拟化/图形加速配置相关:
- 检查KVM是否可用:执行
kvm-ok,若提示不支持,先进入BIOS开启虚拟化选项,再安装KVM依赖:
重启电脑后再次验证。sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils sudo usermod -aG kvm $USER - 切换模拟器图形渲染模式:打开AVD管理器,编辑
Medium_Phone,进入「Show Advanced Settings」,将Graphics选项改为Software - GLES 2.0,保存后重启模拟器。
3. 修复SDK目录权限
确保SDK目录拥有正确的用户权限:
sudo chown -R $USER:$USER /home/kieranhm/Android/Sdk
4. 调整模拟器版本
当前使用的模拟器版本36.4.10可能存在兼容性问题,可尝试:
- 打开SDK管理器,进入「SDK Tools」标签,找到Android Emulator,选择降级到36.2.10或升级到最新稳定版,安装后重启Android Studio。
5. 检查依赖库缺失
执行以下命令检查模拟器二进制文件的依赖库:
ldd /home/kieranhm/Android/Sdk/emulator/emulator
若输出中存在not found的库,比如libGL.so.1、libsdl2-2.0.so.0,通过apt安装对应包:
sudo apt install libgl1-mesa-glx libsdl2-2.0-0
内容的提问来源于stack exchange,提问作者Kieran Hostetler-McLaughlin
相关产品推荐
相关产品推荐

