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

React Native项目Bitbucket Pipeline生成APK失败问题排查

问题排查与修复

问题根源

你脚本里的sdkmanager路径写错了。下载的Android Command Line Tools(版本7302050)解压后,目录结构是:

android-sdk/
└── cmdline-tools/
    ├── bin/
    │   └── sdkmanager
    ├── lib/
    └── ...

但你的脚本里调用的是$ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager,多了一层不存在的tools目录,导致系统找不到该文件。

修复步骤

修改Pipeline脚本中涉及sdkmanager的路径和PATH配置:

  1. 修正PATH环境变量
    把原来的:
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_HOME/platform-tools

改为:

export PATH=$PATH:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools
  1. 修正sdkmanager调用路径
    把下面两行:
- yes | $ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager --licenses # Accept Android SDK licenses
- $ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager "build-tools;30.0.3" "platforms;android-30" # Install required Android packages

改为:

- yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --licenses # Accept Android SDK licenses
- $ANDROID_HOME/cmdline-tools/bin/sdkmanager "build-tools;30.0.3" "platforms;android-30" # Install required Android packages

完整修复后的脚本

pipelines:
branches:
    development: # Replace with the name of your specific branch
      - step:
          name: Build and package APK
          image: node:16.0.0
          caches:
            - node
          script:
            - apt-get update && apt-get install -y openjdk-11-jdk # Install OpenJDK 11
            - wget https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip -O android-sdk-tools.zip # Download Android SDK tools
            - mkdir -p android-sdk/cmdline-tools
            - unzip -q android-sdk-tools.zip -d android-sdk/cmdline-tools # Unzip Android SDK tools
            - export ANDROID_HOME=$PWD/android-sdk
            - export PATH=$PATH:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools
            - yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --licenses # Accept Android SDK licenses
            - $ANDROID_HOME/cmdline-tools/bin/sdkmanager "build-tools;30.0.3" "platforms;android-30" # Install required Android packages
            - npm install # Install project dependencies
            - npx react-native run-android --variant=release # Build and package the APK
            - cp android/app/build/outputs/apk/release/app-release.apk $BITBUCKET_PIPELINES_ARTIFACTS/apk # Copy the APK to artifacts

额外优化建议

  • 可以把Android SDK相关的依赖缓存起来,避免每次Pipeline都重新下载,加快构建速度。在caches里添加自定义缓存:
    caches:
      - node
      - android-sdk: $ANDROID_HOME
    
  • 确认$BITBUCKET_PIPELINES_ARTIFACTS目录存在,如果不存在需要先创建:
    - mkdir -p $BITBUCKET_PIPELINES_ARTIFACTS/apk
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:58:14