Github操作:Gradle不生成或保存APK



嗨,我是Github Action和Gradle的新手。我想做的是编写一个github操作脚本,每次推送分支时都会创建一个新的gradle构建。当前脚本如下:

name: Android CI
on:
push:
branches: [ Main ]
pull_request:
branches: [ Main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- name: set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Upload APK
uses: actions/upload-artifact@v2.2.3
with:
name: app
path: ./app/build/outputs/apk/debug/app-debug.apk

当运行脚本时,它工作得很好,没有报告错误:

脚本的输出

然而,apk并没有生成。因此,当试图将其作为工件上传时,会发出警告,因为apk文件不存在。为了查看我的实现是否正确,我在本地尝试了等效的方法,它成功地与生成的apk一起工作。那么,为什么Github Action不将生成的apk保存到Github分支中呢?谢谢

修复了!我写这篇文章是为了参考。就上下文而言,我正在通过unity构建一个android应用程序。在回购中,我有通过Unity的导出功能生成的Gradle项目设置。这个问题的另一个重要组成部分是渐变文件不在根目录中。因此,当引用gradle文件时,我必须指定运行gradlew-build的目录(即file1/file2/gradlew-uild。如果你有类似于我的问题,这可能适用于你:

  1. 在local.properties文件中,将android sdk的目录更改为以下路径:sdk.dir=/usr/local/lib/android/sdk我从以下链接获得了路径:https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/environment-variables-full-list-github-actions

  2. 在github操作中,通过root运行任何渐变类型的文件。这可以通过移动到gradle文件的根目录并以root身份运行(即cd file/file2&./gradlew-build(来实现

希望这些步骤能帮助到有类似问题的人。

最新更新