You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何无需启动Android Studio,直接通过Expo运行Android模拟器?

解决Fedora 41 Xfce下Flatpak版Android Studio关闭后Expo/Emulator无法识别AVD的问题

核心原因

Flatpak安装的Android Studio运行在独立沙箱中,其SDK、AVD默认存储路径处于沙箱内部,普通终端会话无法直接访问;同时emulator命令和Expo需要正确的环境变量指向沙箱内的SDK目录,才能识别到已创建的AVD。

解决方案步骤

1. 定位Flatpak版Android Studio的关键路径

Flatpak版Android Studio的默认存储路径通常为:

  • SDK目录:~/.var/app/com.google.AndroidStudio/data/Android/Sdk
  • AVD目录:~/.var/app/com.google.AndroidStudio/data/.android/avd

若不确定路径,可在Android Studio内确认:

  • SDK路径:File > Settings > Appearance & Behavior > System Settings > Android SDK
  • AVD路径:File > Settings > Appearance & Behavior > System Settings > Android SDK > SDK Tools > Configure > AVD Manager > Show Advanced Settings

2. 配置Shell环境变量

将以下环境变量添加到你的Shell配置文件(如~/.bashrc~/.zshrc,根据使用的Shell选择):

# Android SDK核心环境变量
export ANDROID_HOME=~/.var/app/com.google.AndroidStudio/data/Android/Sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH

# 指定AVD存储路径,让emulator命令能识别到AVD
export ANDROID_AVD_HOME=~/.var/app/com.google.AndroidStudio/data/.android/avd

添加后执行命令使配置生效:

source ~/.bashrc  # Bash用户
# 或
source ~/.zshrc   # Zsh用户

3. 修复SELinux权限(按需操作)

虽然你已执行setsebool -P selinuxuser_execheap 1,若后续运行emulator仍有权限问题,可修复目录的SELinux上下文:

restorecon -Rv ~/.var/app/com.google.AndroidStudio/data/.android/avd/
restorecon -Rv ~/.var/app/com.google.AndroidStudio/data/Android/Sdk/

4. 验证配置有效性

关闭所有终端后重新打开新终端,执行以下命令验证:

  • 检查AVD是否被识别:
    emulator -list-avds
    
    此时应显示你在Android Studio中创建的AVD名称。
  • 手动启动模拟器:
    emulator @你的AVD名称
    
    例如AVD名为Pixel_5_API_34,则执行emulator @Pixel_5_API_34
  • 启动Expo项目:
    expo start --android
    
    此时Expo应能自动识别到运行中的模拟器。

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

火山引擎 最新活动