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

Linux下已接受Android SDK许可仍报许可未接受无法编译问题

问题根因

你之前执行sdkmanager --licenses时没有显式指定SDK路径,且因为/opt/android-sdk只有root和android组有权限写入,普通用户执行该命令时,生成的许可文件默认会存储到当前用户家目录的.android路径下,并没有写入到/opt/android-sdk/licenses目录,导致全局SDK的许可文件不全。你下载组件时仅弹出platforms;android-31的许可提示,也是因为只有这一步你是写入到全局SDK路径的,其他组件的许可都默认落到了个人家目录,全局路径下未同步。

解决步骤

  • 第一步:删除现有不完整的全局许可文件
sudo rm -rf /opt/android-sdk/licenses/*
  • 第二步:显式指定全局SDK路径重新接受所有许可,用sudo保证写入权限:
sudo yes | sdkmanager --licenses --sdk_root=/opt/android-sdk

如果执行上述命令提示找不到sdkmanager,可替换为全路径调用:

sudo yes | /opt/android-sdk/tools/bin/sdkmanager --licenses --sdk_root=/opt/android-sdk
  • 第三步:修正目录权限,添加setgid位保证后续新建文件自动继承android组权限:
sudo chown -R root:android /opt/android-sdk
sudo chmod -R 775 /opt/android-sdk
sudo find /opt/android-sdk -type d -exec chmod g+s {} \;
  • 第四步:确认全局环境变量配置正确,打开/etc/profile或者/etc/environment文件,添加以下配置:
export ANDROID_SDK_ROOT=/opt/android-sdk
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/build-tools/31.0.0

配置完成后执行source /etc/profile加载配置,普通用户执行echo $ANDROID_SDK_ROOT验证变量是否生效,再重新编译项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:02