命令行SDKManager安装Android NDK时许可证未接受问题及修复
Android NDK构建许可证问题排查与修复
问题现象
使用commandlinetools-linux-11076708_latest搭建Android NDK纯命令行构建环境,已按官方指引提前接受SDK许可证,但构建NDK项目(如hello-jni)时提示ndk;27.0.12077973许可证未接受;执行sdkmanager --licenses命令,却显示所有SDK包许可证已接受。
问题根源
ANDROID_HOME环境变量配置错误,原路径指向了命令行工具的子目录,而非SDK根目录。
修复方案
将ANDROID_HOME修改为SDK根目录:
- 正确配置:
ANDROID_HOME=/opt/android_sdk/ - 错误原配置:
ANDROID_HOME=/opt/android_sdk/cmdline-tools/latest/
Docker配置示例(已修复)
FROM ubuntu:latest ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y \ openjdk-21-jre \ zip \ wget && \ rm -rf /var/lib/apt/lists/* RUN cd /opt && \ wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip && \ unzip commandlinetools-linux-11076708_latest.zip -d android_sdk && \ cd android_sdk/cmdline-tools && \ mkdir latest && \ mv bin/ lib/ NOTICE.txt source.properties latest/ && \ yes | /opt/android_sdk/cmdline-tools/latest/bin/sdkmanager --licenses //ENV ANDROID_HOME=/opt/android_sdk/cmdline-tools/latest/ // 已修复: ENV ANDROID_HOME=/opt/android_sdk/
SDK许可证目录内容
SDK根目录下的licenses文件夹包含以下许可证文件:
android-googletv-license android-sdk-arm-dbt-license android-sdk-license android-sdk-preview-license google-gdk-license mips-android-sysimage-license
内容的提问来源于stack exchange,提问作者duddel
相关产品推荐
相关产品推荐

