From d2cf9c44c160fc29cf27b3b549f7e038e4c01ca2 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Mon, 13 Jul 2020 02:18:01 +1000 Subject: [PATCH] CI: Sign Android APKs --- .github/workflows/rolling-release.yml | 22 ++++++++++++++++++---- README.md | 12 +++++++++--- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/.github/workflows/rolling-release.yml b/.github/workflows/rolling-release.yml index bff8408ea..214ba694c 100644 --- a/.github/workflows/rolling-release.yml +++ b/.github/workflows/rolling-release.yml @@ -170,13 +170,27 @@ jobs: run: | cd android ./gradlew assembleRelease - mv app/build/outputs/apk/release/app-release-unsigned.apk ../duckstation-release-unsigned.apk - + + - name: Sign APK + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: android/app/build/outputs/apk/release + signingKeyBase64: ${{ secrets.APK_SIGNING_KEY }} + alias: ${{ secrets.APK_KEY_ALIAS }} + keyStorePassword: ${{ secrets.APK_KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.APK_KEY_PASSWORD }} + + - name: Rename APK + shell: bash + run: | + cd android + mv app/build/outputs/apk/release/app-release-unsigned-signed.apk ../duckstation-android-aarch64.apk + - name: Upload APK uses: actions/upload-artifact@v1 with: name: "android" - path: "duckstation-release-unsigned.apk" + path: "duckstation-android-aarch64.apk" create-release: @@ -239,5 +253,5 @@ jobs: linux-x64-appimage-qt-zsync/duckstation-qt-x64.AppImage.zsync linux-libretro/duckstation_libretro.so.zip linux-libretro/duckstation_libretro_android_aarch64.so.zip - android/duckstation-release-unsigned.apk + android/duckstation-android-aarch64.apk diff --git a/README.md b/README.md index 8e636a218..e0ee7f745 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Other features include: - SDL-compatible game controller (e.g. XB360/XBOne) ## Downloading and running -Binaries of DuckStation for 64-bit Windows and 64-bit Linux (in AppImage format) are available via GitHub Releases and are automatically built with every commit/push. Binaries or packages distributed through other sources may be out of date and are not supported by the developer. +Binaries of DuckStation for Windows 64-bit, x86_64 Linux x86_64 (in AppImage format), and Android ARMv8/AArch64 are available via GitHub Releases and are automatically built with every commit/push. Binaries or packages distributed through other sources may be out of date and are not supported by the developer. ### Windows @@ -83,14 +83,20 @@ To download: A prebuilt APK is now available for Android. However, please keep in mind that the Android version is not yet feature complete, it is more of a preview of things to come. You will need a device running a 64-bit AArch64 userland (anything made in the last few years). -Download link: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-release-unsigned.apk +Download link: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-android-aarch64.apk The main limitations are: - No controller support, only on-screen controls. - - User directory is currently hardcoded to /sdcard/duckstation. So BIOS files go in /sdcard/duckstation/bios. + - User directory is currently hardcoded to `/sdcard/duckstation`. So BIOS files go in `/sdcard/duckstation/bios`. - Lack of options in menu when emulator is running. - Performance is currently lower than the desktop x86_64 counterpart. +To use: + - Install and run the app for the first time. + - This will create `/sdcard/duckstation`. Drop your BIOS files in `/sdcard/duckstation/bios`. + - Add game directories by hitting the `+` icon and selecting a directory. Due to a bug you may need to restart the app for it to scan the directory. + - Tap a game to start. + ### Title Information