导读:本期聚焦于多肉创作的《Mac上如何配置Android开发环境?从零搭建完整步骤详解》,敬请观看详情。刚换Mac电脑准备做安卓开发,却被环境变量和模拟器折腾得没脾气?其实在 macOS 上把开发环境跑通,核心就是装好 JDK、Android Studio 以及对应的 SDK 平台。不同芯片的 Mac 在下载包时有Intel和Apple Silicon区分,选错版本会直接闪退。本文梳理一条不绕弯路的配置路线:先用 Homebrew 管理后台依赖,再借助官方 IDE 自动拉取编译工具链,最后通过命令行验证 adb 与模拟设备连通性。照着做能避开绝大多数权限和路径坑,省下反复重装的时间。

在 macOS 上配置 Android 开发环境,本质是让系统具备三样东西:兼容的 Java 运行环境、架构匹配的 Android Studio 集成开发工具,以及可供编译调试使用的 SDK 与平台工具。Apple 芯片与 Intel 芯片的 Mac 在二进制层面存在差异,下载安装包时必须认准标注 chip 类型的版本,否则很容易出现无法启动或频繁崩溃。接下来按照实际部署顺序,从底层依赖到上层验证逐步拆解。

Mac上如何配置Android开发环境?从零搭建完整步骤详解

一、JDK 与 Homebrew 基础依赖安装

Android Studio 新版本已经自带运行所需的 JetBrains Runtime,但 Gradle 构建任务仍然依赖系统中可用的 JDK。推荐通过 Homebrew 来安装 JDK,这样既能简化后续升级,也能避免手动下载安装包带来的权限配置混乱。在终端执行 brew 命令之前,如果尚未安装 Homebrew,需要先执行官方给出的安装脚本,并保证网络通畅直至命令运行结束。

JDK 版本的选择十分关键。编译较新的 Android SDK 时通常要求使用 JDK 17,可通过 brew install openjdk@17 完成安装。安装之后必须建立系统软链,否则在终端执行 java -version 时仍会指向旧版本,导致 Android Studio 启动后报找不到合适 JVM 的错误。使用 /usr/libexec/java_home -V 可以列出所有已安装的 Java 版本,确认路径无误后再继续下一步。

除了 JDK,还可以用 Homebrew 提前安装 android-platform-tools,这样即使 IDE 尚未完全配置完成,也能在终端直接调用 adb 命令验证设备连接情况。把环境层面的问题与代码层面隔离开,有助于快速定位故障原因。

# 安装 Homebrew(如已安装可跳过)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 JDK 17
brew install openjdk@17

# Apple Silicon Mac 建立系统软链
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

# 验证 JDK 版本
java -version
/usr/libexec/java_home -V

二、Android Studio 与 SDK 的初始化配置

到 Android 开发者官网下载对应 Mac 芯片类型的 Android Studio 磁盘镜像,将应用拖入 Applications 文件夹即完成主体安装。首次启动时安装向导会引导下载 SDK 组件,建议勾选 Android SDK、Android SDK Platform 以及 Android Virtual Device。如果磁盘空间紧张,至少保留目标 API 级别对应的 Platform 和 Build-Tools,否则新建项目时容易发生同步失败。

SDK 的默认存放路径位于用户目录下的 ~/Library/Android/sdk,该路径需要写入环境变量,方便命令行和其他工具识别。较新版本的 macOS 默认使用 zsh 作为登录 shell,因此应修改 ~/.zshrc 文件,在末尾追加相关导出语句并执行 source 使其立即生效。配置完成后可以用 echo $ANDROID_HOME 检查变量输出是否正确。

Android Studio 内置的 SDK Manager 提供图形化操作界面,比手动下载更加稳妥。打开 Preferences 搜索 SDK,在 SDK Platforms 选项卡中勾选需要适配的 Android 版本,再切换到 SDK Tools 选项卡,确保 Build-Tools 以及可能需要用到的 NDK 版本匹配。点击 Apply 后后台会下载较大的文件,建议耐心等待进度条结束再新建工程。

# 写入 zsh 环境变量
echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.zshrc
echo 'export PATH=$PATH:$ANDROID_HOME/emulator' >> ~/.zshrc
echo 'export PATH=$PATH:$ANDROID_HOME/platform-tools' >> ~/.zshrc
source ~/.zshrc

# 验证环境变量
echo $ANDROID_HOME

三、模拟器创建与 adb 连接验证

没有真机设备时,Android Virtual Device(AVD)是调试应用程序的主力。在 Device Manager 中点击 Create Device,选择一款常见机型作为模板,系统镜像尽量选择带 Google Play 的版本,便于后续测试依赖地图等服务的应用。Apple Silicon Mac 必须选择 arm64 架构镜像,Intel Mac 则选择 x86_64,选反了会导致模拟器内核错误而无法启动。

模拟器创建完成后进行冷启动,首次开机较慢属于正常现象。如果长时间停留在开机画面,多半与硬件加速未正确开启有关。可以在终端执行 ~/Library/Android/sdk/emulator/emulator -accel-check 查看加速状态。macOS 上通常依赖 Hypervisor.framework 提供加速能力,不需要像 Windows 平台那样额外安装 HAXM,但仍需在系统设置中允许开发者模式,否则会提示权限不足。

模拟器正常运行后,打开新终端输入 adb devices,正常情况下会列出一台类似 emulator-5554 的设备且状态为 device。如果显示 unauthorized,需要在模拟器弹窗中手动授权。随后可以运行一个空 Activity 项目,观察 Logcat 能否打印出系统日志,验证环境配置形成闭环。

# 检查硬件加速支持状态
~/Library/Android/sdk/emulator/emulator -accel-check

# 查看已连接设备
adb devices

# 安装并启动测试 APK(示例路径)
adb install app/build/outputs/apk/debug/app-debug.apk
adb shell am start -n com.example.app/.MainActivity

四、常见权限与路径故障排查

macOS 的系统完整性保护(SIP)和沙盒机制时常导致 Android Studio 无法写入 SDK 目录。遇到 Permission denied 时,不建议直接对整个 sdk 文件夹执行 sudo chmod 777,这样会带来安全隐患。更合理的做法是将 SDK 移入用户拥有完全控制权的目录,并同步修正 ANDROID_HOME 指向新位置,再重启 IDE 让其重新索引。

多 JDK 共存是另一个容易引发构建错误的因素。Android Studio 自带运行时与系统 JDK 不一致时,可以在 Project Structure 中指定使用嵌入式 JDK,避免 Gradle 调用系统版本时出现字节码不兼容。同时在 gradle.properties 文件中添加 org.gradle.java.home 并指向同一路径,可以进一步固定构建环境,防止终端与 IDE 的行为分裂。

网络代理也会影响 SDK 组件以及依赖仓库的下载。如果同步速度缓慢,可以在 SDK Manager 中配置镜像源,也可以在用户目录下的 ~/.gradle/gradle.properties 文件中填写国内仓库镜像。镜像地址中的特殊字符需要按照规范进行转义,避免构建脚本解析失败。处理完这些问题后,Mac 上的 Android 开发环境就能长期稳定服务于日常编码工作。

// gradle.properties 中锁定 JDK 路径示例
org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home

// 配置国内镜像仓库
systemProp.http.proxyHost=mirrors.ipipp.com
systemProp.http.proxyPort=80

综合来看,Mac 上 Android 开发环境的搭建并不是单纯安装一个 IDE,而是 JDK、SDK、模拟器与构建工具等多个环节协同配置的过程。关键点在于 JDK 17 的软链与版本确认、ANDROID_HOME 写入正确的 shell 配置文件、模拟器镜像架构匹配,以及遇到权限和代理问题时采用更安全的修复方式。完成上述步骤之后,日常编码通常不会再因环境缺失而反复报错。若后续新增设备或升级 SDK,也可以沿用同样的思路逐项排查,保持整个工具链的稳定与可维护。

Android_StudioSDKadb修改时间:2026-08-14 08:12:35

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。