JDK
为支持 Android 编译,去 Java SE Development Kit 8 页面注册 Oracle 账户,下载安装最新的 Java SE Development Kit 8u271。
最新的版本是jdk-8u291-macosx-x64,参见下图:
选择下载 macOS x64 - jdk-8u271-macosx-x64.dmg
,点击 jdk-8u271-macosx-x64.dmg
,打开 pkg 安装 JDK 8 Update 271
,默认将安装到目录 /Library/Java/JavaVirtualMachines/
。
安装好 JDK 之后,导出环境变量 JAVA_HOME
到 ~/.zshrc
:
##############################################################################
# JAVA_HOME
##############################################################################
#jdk-8u271-macosx-x64.dmg
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home"
可执行
java -version
、javac -version
查看相关版本。
Android Studio
下载安装 Android Studio:https://developer.android.com/studio/archive?hl=zh-cn
macOS 用户可考虑在 ~/.zshrc
中增加 AndroidStudio 的快捷关联命令:
##############################################################################
# AndroidStudio alias
##############################################################################
alias AndroidStudio="open -a /Applications/Android\ Studio.app"
安装 Android Studio 后,进入 SDK Manager 勾选安装以下配套工具:
- LLDB
- NDK
- CMake
- Android Emulator
- Android SDK Platform-Tools
- Android SDK Tools
接下来需要配置 Andorid SDK 和 NDK 相关的环境变量。
There is no ANDROID_NDK_HOME
ANDROID_SDK_HOME
-> location of SDK-related user files, defaults to~/.android/
on Unix.ANDROID_SDK_ROOT
-> installation dir of SDKANDROID_NDK_ROOT
-> installation dir of NDK
ANDROID_HOME
也指向 SDK 安装目录,但已弃用,请改用ANDROID_SDK_ROOT
。
Android SDK
Android SDK 的安装目录为 $HOME/Library/Android/sdk
。
##############################################################################
# Android SDK
##############################################################################
# SDK-related user files
export ANDROID_SDK_HOME=$HOME/.android
# ANDROID_SDK_ROOT (aka ANDROID_HOME)
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
Android NDK
Android Studio SDK Manager 中如果勾选安装 NDK,则会安装到 sdk/ndk/
目录下。
也可自行下载 Android NDK:https://developer.android.com/ndk/downloads/
##############################################################################
# Android NDK
##############################################################################
# AndroidStudio 自带安装 ndk
export ANDROID_NDK_ROOT=(/Users/$(whoami)/Library/Android/sdk/ndk/*/)
# 如果ndk版本过高,可自行指定切换低版本(例如R16B)
#ANDROID_NDK_R16B=/Users/$(whoami)/Library/Android/android-ndk-r16b/
#export ANDROID_NDK_ROOT=$ANDROID_NDK_R16B
# set NDK_ROOT as ANDROID_NDK_ROOT
export NDK_ROOT=$ANDROID_NDK_ROOT
# set ANDROID_NDK_ROOT to os.environ
export PATH=$PATH:$ANDROID_NDK_ROOT
mars 编译脚本需要从环境变量 NDK_ROOT
读取 ndk 目录:
# /mars/mars/build_android.py
try:
NDK_ROOT = os.environ['NDK_ROOT']
except KeyError:
NDK_ROOT = ''
如果未配置该环境变量,编译将报错 NDK_ROOT not defined - Please define NDK_ROOT
in your environment。