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

如何修改AndroidSDK的DefaultSdkLoader路径解决构建冲突?

修复cdxgen生成SBOM时的Android SDK路径冲突问题

以下是针对DefaultSdkLoader路径冲突问题的具体修复步骤:

  • 检查并修正环境变量
    cdxgen会优先读取ANDROID_HOME或ANDROID_SDK_ROOT环境变量,先确认这两个变量的取值:

    echo $ANDROID_HOME
    echo $ANDROID_SDK_ROOT
    

    如果输出旧路径/opt/homebrew/Caskroom/android-sdk/4333796,则修改对应的shell配置文件(bash用~/.bash_profile,zsh用~/.zshrc),添加或更新:

    export ANDROID_HOME=/Users/ansible-pipeline/Library/Android/sdk
    export ANDROID_SDK_ROOT=$ANDROID_HOME
    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    

    执行source ~/.bash_profile或source ~/.zshrc让配置立即生效。

  • 强制指定SDK路径执行cdxgen
    若不想修改全局环境变量,可在执行cdxgen时临时覆盖SDK路径:

    ANDROID_SDK_ROOT=/Users/ansible-pipeline/Library/Android/sdk cdxgen -t kotlin -o android-bom.json --deep
    
  • 清理cdxgen缓存
    cdxgen可能缓存了旧的SDK路径信息,清理缓存后重试:

    rm -rf ~/.cache/cdxgen
    
  • 检查项目local.properties配置
    项目根目录下的local.properties文件可能残留旧SDK路径,打开该文件修改:

    sdk.dir=/Users/ansible-pipeline/Library/Android/sdk
    

    若没有该文件,手动创建并写入上述内容。

  • 验证新SDK路径的有效性
    确认新路径下SDK文件完整,执行sdkmanager --list验证工具能正常识别新路径,若提示命令不存在,先确保SDK的tools和platform-tools目录已加入系统PATH。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:49:55