You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下无法打开Android Device Monitor问题求助

解决Android Device Monitor无法启动(Java 9+兼容性问题)

这个问题我之前帮朋友排查过,核心原因是Android Device Monitor(ADM)和Java 9及以上版本的模块化系统不兼容——ADM基于旧版Eclipse框架开发,它的依赖加载逻辑在Java 9引入的模块机制下会失效,直接导致org.eclipse.core.runtime这个核心bundle无法正常解析启动,就会抛出你看到的Unable to acquire application service错误。

下面给你几个可行的解决思路,按推荐优先级排序:

1. 降级到Java 8(最稳妥的方案)

ADM是为Java 8及以下版本设计的,降级到Java 8能从根源解决兼容性问题:

  • 先检查本地Java版本:打开终端运行 java -version,如果显示是9+,去下载Java 8(Oracle或OpenJDK版本都可以)
  • 配置ADM指定使用Java 8:
    找到ADM的启动脚本(macOS下路径一般是Android SDK/tools/lib/monitor.app/Contents/MacOS/monitor),用文本编辑器打开,在脚本开头添加Java 8的环境变量:
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home
    
    把xxx替换成你安装的Java 8具体版本号
  • 如果你用jenv这类Java版本管理工具,可以临时切换版本再启动:
    jenv local 1.8
    open /你的AndroidSDK路径/tools/lib/monitor.app
    

2. 修改ADM启动参数尝试兼容(成功率低,不推荐)

如果暂时不想降级Java,可以尝试给ADM添加Java 9兼容的启动参数,但不能保证完全解决问题:

  • 找到ADM的eclipse.ini文件(macOS下在monitor.app/Contents/Eclipse/eclipse.ini)
  • 在-vmargs这一行下面添加以下参数:
    --add-modules=ALL-SYSTEM
    --add-opens java.base/java.lang=ALL-UNNAMED
    --add-opens java.base/java.io=ALL-UNNAMED
    --add-opens java.base/java.util=ALL-UNNAMED
    
    这类参数是强制让旧版非模块化应用能访问Java 9的核心模块,但ADM本身有很多旧依赖,大概率还是会出现其他报错

3. 改用Android Studio Profiler替代ADM

Google早在Android Studio 3.1版本就宣布弃用ADM了,推荐使用Android Studio自带的Profiler,它完全覆盖ADM的所有功能(进程管理、内存Dump、CPU跟踪、网络监控等),而且对新版Java和Android版本支持更好:

  • 打开Android Studio,点击顶部菜单栏的View > Tool Windows > Profiler即可启动,界面比ADM更直观易用

内容的提问来源于stack exchange,提问作者Jitarin Chuntaketta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:36:44