文号
949746
阅读
66
回复
0
收藏
0
Expo Androud Linux 开发环境搭建
2026/04/22
IP:四川

Node 环境

# 安装 FNM
curl -fsSL https://fnm.vercel.app/install | bash

# 默认安装位置 此环境变量应放置对应用户的 .bashrc
export FNM_DIR="/workspace/fnm"

# 最终示例完整环境变量
# fnm
FNM_PATH="/root/.local/share/fnm"
FNM_DIR="/workspace/fnm"
if [ -d "$FNM_PATH" ]; then
  export PATH="$FNM_PATH:$PATH"
  eval "$(fnm env --shell bash)"
fi

# 生效环境变量
source ~/.bashrc

# 下载并安装 Node.js
fnm install 24

# 验证 Node.js 版本
node -v 

# 验证 npm 版本
npm -v

# 禁用 SSL 验证
npm config set strict-ssl false

# 调整缓存目录
npm config set cache "/workspace/cache"

Java 环境

# debian 系发行版执行如下命令 其余发行版依据对应进行调整
sudo apt install openjdk-17-jdk

# 添加环境变量至 .bashrc
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

# 生效环境变量
source ~/.bashrc

Android 环境

# 创建 SDK 目录
mkdir -p /opt/Android/sdk

# 进入 SDK 目录
cd /opt/Android/sdk

# 下载 Command-Line Tools
wget https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip

# 解压
unzip commandlinetools-linux-8512546_latest.zip

# 调整 latest 目录结构
cd /opt/Android/sdk/cmdline-tools
mkdir latest
find . -maxdepth 1 -mindepth 1 ! -name latest -exec mv {} latest/ \;

# 添加 Android 环境变量至 .bashrc
ANDROID_HOME=/opt/Android/sdk
ANDROID_SDK_ROOT=${ANDROID_HOME}
PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH
PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH

# 生效环境变量
source ~/.bashrc

# 安装 Android SDK 基础组件
mkdir -p ~/.android/
cd ~/.android/
echo "https://mirrors.cloud.tencent.com/AndroidSDK/repository2-1.xml" >> ~/.android/repositories.cfg
sdkmanager "platform-tools" "build-tools;30.0.3" "platforms;android-30"

# 检查基础组件是否存在
ls -l /opt/Android/sdk/platform-tools
ls -l /opt/Android/sdk/build-tools
ls -l /opt/Android/sdk/platforms

Gradle 环境

# 创建 gradle 目录
mkdir /opt/gradle
cd /opt/gradle

# 下载 gradle
wget https://services.gradle.org/distributions/gradle-8.13-bin.zip
unzip gradle-8.13-bin.zip

# 添加 gradle 环境变量至 .bashrc
PATH=$PATH:/opt/gradle/gradle-8.13/bin

# 生效环境变量
source ~/.bashrc


Expo 环境与常用命令

# 安装 eas
npm i -g eas-cli

# 登录 eas
eas login

# expo 构建(development builds)
npx expo prebuild

# expo 清理并重新构建
npx expo prebuild --clean

# expo 指定平台构建 android | ios
npx expo prebuild --clean --platform ios

# 模拟器调试
npx expo run:ios
npx expo run:android

# 真机调试
npx expo run:ios --device
npx expo run:android --device
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的