执行./gradlew assembleRelease报错:Android SDK许可证未接受致构建失败
解决Android构建时许可证未接受的问题
核心问题分析
从错误日志看,Gradle在错误的路径下查找SDK许可证:C:\Program Files\Android\SDK\cmdline-tools\tools\bin\licenses,而正确的许可证目录应该是SDK根目录下的licenses文件夹。同时,环境变量或Gradle配置可能指向了错误的SDK路径,导致许可证校验失败。
解决方案步骤
1. 确认并修复许可证目录位置
- 打开文件管理器,检查
C:\Program Files\Android\SDK下是否存在licenses文件夹:- 若不存在,手动创建该文件夹。
- 若
C:\Program Files\Android\SDK\cmdline-tools\tools\bin\licenses下有文件,将所有文件复制到C:\Program Files\Android\SDK\licenses中。
2. 配置正确的ANDROID_HOME环境变量
- 打开系统环境变量设置:
- 设置
ANDROID_HOME为C:\Program Files\Android\SDK。 - 将
%ANDROID_HOME%\platform-tools和%ANDROID_HOME%\cmdline-tools\latest\bin添加到PATH变量中。
- 设置
- 验证配置:打开新的命令行窗口,执行
echo %ANDROID_HOME%,确认输出为正确的SDK根目录。
3. 强制重新安装目标SDK组件并接受许可证
在命令行中执行以下命令,直接安装Android 34相关组件并确认许可证:
sdkmanager "platforms;android-34" "build-tools;34.0.0" --licenses
执行过程中按提示输入y接受所有许可证协议。
4. 修正Gradle的SDK路径配置
- 打开项目的
android/local.properties文件(若没有则创建),添加或修改以下内容:
sdk.dir=C:\\Program Files\\Android\\SDK
5. 清理缓存并重新构建
执行以下命令清理Gradle缓存并重新触发构建:
./gradlew clean ./gradlew assembleRelease --refresh-dependencies
内容的提问来源于stack exchange,提问作者Freq
相关产品推荐
相关产品推荐

