You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Jenkins上安装Android NDK遇阻:组件未显示及安装方法求助

在Jenkins上安装Android NDK的问题解答

为什么NDK、CMake、LLDB不在android list sdk --all的结果里?

旧的android命令属于已被废弃的SDK Tools,Google早在几年前就停止了对它的维护,并且把NDK、CMake、LLDB这类原生开发工具移到了新的SDK组件管理体系中,不再通过旧的android命令提供列表和安装支持。简单说,这个老工具已经“跟不上趟”了,只能处理早期的SDK平台、基础构建工具等组件,管不到这些新的原生开发工具。

如何在Jenkins上安装NDK、CMake和LLDB?

推荐使用Google官方推荐的sdkmanager工具来完成安装,步骤如下:

  1. 确认环境中有sdkmanager
    sdkmanager是新版SDK命令行工具的核心组件,通常位于Android SDK目录下的cmdline-tools/latest/bin路径中。如果你的Jenkins环境还没有这个工具,需要先下载安装最新的Command-line Tools(可以在Jenkins的全局工具配置中添加Android SDK时自动获取,或者手动下载放置到对应目录)。

  2. 查看可用的组件列表
    执行以下命令查看所有可安装的组件,包括NDK、CMake和LLDB:

    sdkmanager --list
    

    在输出里你会看到类似这样的条目(版本号会随官方更新变化):

    • ndk;25.2.9519653
    • cmake;3.22.1
    • lldb;15.0.0
  3. 执行安装命令
    直接指定要安装的组件即可,比如安装某个版本的NDK、CMake和LLDB:

    sdkmanager --install "ndk;25.2.9519653" "cmake;3.22.1" "lldb;15.0.0"
    

    如果你的Jenkins环境没有设置ANDROID_SDK_ROOT环境变量,可以通过--sdk_root参数指定SDK路径:

    sdkmanager --sdk_root=/path/to/your/android-sdk --install "ndk;25.2.9519653"
    
  4. Jenkins中的配置细节

    • 确保Jenkins运行的用户对Android SDK目录有读写权限,避免安装时出现权限错误。
    • 可以在Jenkins的构建步骤中添加“执行shell”(Linux)或“执行批处理命令”(Windows),运行上述sdkmanager命令。
    • 也可以使用Jenkins的Android Plugin,在全局工具配置中添加Android SDK,并勾选需要安装的NDK、CMake等组件,让插件自动处理安装流程。
  5. 可选:指定NDK版本
    如果你的项目需要特定版本的NDK,只需要在命令中替换对应的版本号即可。另外,如果你习惯使用ndk-bundle(旧的统一NDK目录),也可以安装ndk-bundle组件,但Google现在更推荐使用版本化的NDK,方便多版本共存适配不同项目。

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

火山引擎 最新活动