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

MacBook M1下Cake ADB执行AdbInstall报空引用错误如何解决

问题根因

你遇到的空引用报错本质是Cake.Android.Adb插件未找到本地Android SDK中的adb可执行文件路径,插件内部未做空值防护直接抛出了NullReferenceException。

修复步骤

1. 配置Android SDK路径到系统环境变量

M1 Mac默认安装的Android SDK路径为~/Library/Android/sdk,adb工具存放在SDK下的platform-tools目录中。
你需要修改对应Shell的配置文件:使用zsh则编辑~/.zshrc,使用bash则编辑~/.bash_profile,添加如下配置:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools

配置完成后执行source ~/.zshrc(对应你使用的Shell),执行adb --version验证是否能正常输出版本信息,确认adb路径生效。
如果是自定义安装的Android SDK,替换上述配置为实际的SDK路径即可。

2. Cake脚本显式指定adb路径(可选,更稳妥)

如果环境变量配置后仍有识别问题,可以直接在Cake脚本中手动指定adb的绝对路径,修改AdbInstall调用逻辑:

AdbInstall(apkFile: androidApk, new AdbToolSettings {
    // 替换为你本地实际的adb路径
    ToolPath = "/Users/你的用户名/Library/Android/sdk/platform-tools/adb"
});

3. 多模拟器分别安装配置

路径问题解决后,你可以先执行adb devices获取两个模拟器的设备序列号,安装时通过参数指定目标设备即可实现分别安装到LTR、RTL模拟器:

// 示例中emulator-5554为LTR模拟器序列号,emulator-5556为RTL模拟器序列号,替换为你实际的设备序列号即可
// 安装到LTR模拟器
AdbInstall(apkFile: androidApk, new AdbToolSettings {
    Serial = "emulator-5554"
});
// 安装到RTL模拟器
AdbInstall(apkFile: androidApk, new AdbToolSettings {
    Serial = "emulator-5556"
});
版本说明

你当前使用的3.2.0版本Cake.Android.Adb插件在M1 Mac上不存在兼容问题,不需要升级版本,解决adb路径识别问题即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:27:01