Github Action 编译和发布APK

Posted cyang812

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Github Action 编译和发布APK相关的知识,希望对你有一定的参考价值。

使用 Github 的 Action 来自动编译并且发布软件到 Release

如下代码分为两个部分,

  • Build 生产 APK
  • 发布 APK 到 release 页面

代码如下:

name: Build and Release

on:
 push:
   branches:
     - master
     - "feature/*"
   tags:
     - "v*.*.*"
 pull_request:
   branches:
     - master
     - "feature/*"

jobs:
 apk:
   name: Generate APK
   runs-on: ubuntu-latest
   steps:
     - name: Checkout
       uses: actions/checkout@v2.4.0
     - name: Branch name
       run: echo running on branch $GITHUB_REF##*/
     - name: Setup JDK
       uses: actions/setup-java@v2.5.0
       with:
         distribution: temurin
         java-version: "11"
     - name: Set execution flag for gradlew
       run: chmod +x gradlew
     - name: Build APK
       run: bash ./gradlew assembleDebug --stacktrace
     - name: Upload APK
       uses: actions/upload-artifact@v1
       with:
         name: apk
         path: app/build/outputs/apk/debug/app-debug.apk

 release:
   name: Release APK
   needs: apk
   runs-on: ubuntu-latest
   steps:
     - name: Get branch name
       id: branch-name
       uses: tj-actions/branch-names@v5.1
     - name: Print branch    
       run: |
         echo "Running on default: $ steps.branch-name.outputs.current_branch "
       
     - name: Download APK from build
       uses: actions/download-artifact@v1
       with:
         name: apk
     - name: Create Release
       id: create_release
       uses: actions/create-release@v1
       env:
         GITHUB_TOKEN: $ secrets.GITHUB_TOKEN 
       with:
         tag_name: $ github.run_number 
         release_name: $ github.event.repository.name   $ steps.branch-name.outputs.current_branch  v$ github.run_number .$ github.run_attempt 
     - name: Upload Release APK
       id: upload_release_asset
       uses: actions/upload-release-asset@v1.0.1
       env:
         GITHUB_TOKEN: $ secrets.GITHUB_TOKEN 
       with:
         upload_url: $ steps.create_release.outputs.upload_url 
         asset_path: apk/app-debug.apk
         asset_name: $ github.event.repository.name   $ steps.branch-name.outputs.current_branch  v$ github.run_number .$ github.run_attempt .apk
         asset_content_type: application/zip

以上是关于Github Action 编译和发布APK的主要内容,如果未能解决你的问题,请参考以下文章

Github Action 编译和发布APK

编译后的 APK 文件包含许多未知的 (A)XML 布局

apk反编译和重新打包

使用 github 操作将 apk 文件上传到 Slack

Android APK 反编译工具 JADX

Android APK反编译