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

通过Bash脚本生成APK时,构建成功却找不到输出文件的问题

问题

在Termux环境中运行Bash脚本创建APK,脚本完成系统更新、依赖安装、Android SDK配置、项目结构创建后,Gradle提示BUILD SUCCESSFUL,但后续找不到app/build/outputs目录及APK文件,报错如下:

BUILD SUCCESSFUL in 4s
1 actionable task: 1 executed
Listing contents of build output directory:
ls: cannot access 'app/build/outputs': No such file or directory
APK was not found in the expected location.
Listing contents of app/build/outputs/apk directory for debugging:
ls: cannot access 'app/build/outputs/apk': No such file or directory

排查原因及解决办法

1. Gradle任务未执行完整构建

从日志看仅执行了1个任务,说明./gradlew build未触发完整的APK编译流程,大概率是首次初始化后只完成了基础校验,未执行打包任务。

  • 解决:替换构建命令为明确的编译任务,比如:
    ./gradlew assembleDebug
    
    或者强制清理后全量构建:
    ./gradlew clean build
    

2. Android SDK环境变量未配置

脚本安装了SDK但未设置环境变量,Gradle无法定位SDK路径,会跳过APK编译步骤。

  • 解决:在执行Gradle构建前添加环境变量配置,放在cd ~/MyFirstApp之后、gradle wrapper之前:
    export ANDROID_SDK_ROOT=${HOME}/Android/Sdk
    export PATH=$PATH:${ANDROID_SDK_ROOT}/platform-tools:${ANDROID_SDK_ROOT}/build-tools/24.0.3
    

3. Gradle与Android插件版本不兼容

Termux安装的Gradle是较新版本,但脚本中使用的Android插件com.android.tools.build:gradle:3.0.1版本过旧,版本不匹配会导致构建异常,表面成功但未生成APK。

  • 解决:升级Android插件版本并匹配Gradle wrapper版本:
    1. 修改根目录build.gradle中的插件依赖:
      classpath 'com.android.tools.build:gradle:7.0.4'
      
    2. 生成对应版本的wrapper:
      gradle wrapper --gradle-version 7.0.2
      

4. 缺少必要资源文件

脚本中styles.xml引用了colorPrimary等颜色资源,但未创建colors.xml,部分Android插件版本会因资源引用不完整跳过打包。

  • 解决:创建app/src/main/res/values/colors.xml文件:
    <resources>
        <color name="colorPrimary">#3F51B5</color>
        <color name="colorPrimaryDark">#303F9F</color>
        <color name="colorAccent">#FF4081</color>
    </resources>
    

5. 确认实际输出路径

部分Gradle版本会改变输出目录结构,先查看项目根目录的build目录内容:

ls -R ~/MyFirstApp/build

根据实际输出位置调整脚本中复制APK的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:14:56