Add GitHub Action to build debug APK #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: android-apk | ||
| on: | ||
| push: | ||
| branches: [ master ] # 亦可改为 tag、PR、workflow_dispatch 等触发方式 | ||
| workflow_dispatch: # 允许手动触发 | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| # ① 拉取代码 | ||
| - uses: actions/checkout@v4 | ||
| # ② 配置 JDK(Android Gradle Plugin 8.x 开始官方推荐 17) | ||
| - name: Set up JDK 17 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: "temurin" | ||
| java-version: "17" | ||
| # ③ 配置 Android SDK(ubuntu-latest 镜像已自带 SDK,只需受权并补全组件) | ||
| - name: Set up Android SDK | ||
| uses: android-actions/setup-android@v3 | ||
| # ④ 确保 gradlew 在 Linux 下有执行权限——很多 “Permission denied” 都因缺这一步 | ||
| - name: Make gradlew executable | ||
| run: chmod +x ./gradlew | ||
| # ⑤ 编译 Release APK;RFIDtools 的主应用模块名为 :apprts | ||
| - name: Build APK | ||
| run: ./gradlew :apprts:assembleRelease --no-daemon --stacktrace | ||
| # ⑥ 上传产物,便于从页面下载或后续签名 | ||
| - name: Upload APK artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: rfidtools-release-apk | ||
| path: apprts/build/outputs/apk/release/*.apk | ||
| # ⑦(可选)如需正式上架,把 keystore 转为 base64 存入 Secrets 后再签名 | ||
| - name: Sign APK | ||
| if: ${{ secrets.KEYSTORE_BASE64 != '' }} | ||
| uses: r0adkll/sign-android-release@v1 | ||
| with: | ||
| releaseDirectory: apprts/build/outputs/apk/release | ||
| signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }} | ||
| alias: ${{ secrets.KEY_ALIAS }} | ||
| keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} | ||
| keyPassword: ${{ secrets.KEY_PASSWORD }} | ||