Set up apk signing

This commit is contained in:
Joscha 2025-01-23 02:04:15 +01:00
parent e6b16ce067
commit de98676cd0
3 changed files with 49 additions and 24 deletions

View file

@ -63,29 +63,37 @@ jobs:
target/release/tta-cli.exe
target/release/tta-app.exe
# TODO: https://v2.tauri.app/distribute/sign/android/
# build-android:
# runs-on: ubuntu-latest
# steps:
# - name: Check out repo
# uses: actions/checkout@v4
build-android:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
# - name: Set up pnpm
# uses: pnpm/action-setup@v4
# with:
# version: 10
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10
# # https://v2.tauri.app/start/prerequisites/#android
# - name: Set up rust
# run: rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
# https://v2.tauri.app/start/prerequisites/#android
- name: Set up Rust
run: rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
# - name: Build
# run: |
# export NDK_HOME="$ANDROID_NDK_HOME"
# ./build_android
# https://v2.tauri.app/distribute/sign/android/
- name: Set up Android signing
run: |
cd tta-app/src-tauri/gen/android
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > key.properties
echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> key.properties
base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
echo "storeFile=$RUNNER_TEMP/keystore.jks" >> key.properties
# - name: Upload
# uses: actions/upload-artifact@v4
# with:
# name: tta-android
# path: target/release/tta-app.apk
- name: Build
run: |
export NDK_HOME="$ANDROID_NDK_HOME"
./build_android
- name: Upload
uses: actions/upload-artifact@v4
with:
name: tta-android
path: target/release/tta-app.apk

View file

@ -7,6 +7,6 @@ pnpm tauri android build --apk
popd
mkdir -p target/release/
mv tta-app/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk target/release/tta-app.apk
mv tta-app/src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk target/release/tta-app.apk
echo "tta-app.apk can be found at target/release/tta-app.apk"

View file

@ -1,3 +1,4 @@
import java.io.FileInputStream
import java.util.Properties
plugins {
@ -24,19 +25,35 @@ android {
versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt()
versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0")
}
signingConfigs {
create("release") {
val keystorePropertiesFile = rootProject.file("key.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["password"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["password"] as String
}
}
buildTypes {
getByName("debug") {
manifestPlaceholders["usesCleartextTraffic"] = "true"
isDebuggable = true
isJniDebuggable = true
isMinifyEnabled = false
packaging { jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so")
packaging {
jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so")
jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so")
jniLibs.keepDebugSymbols.add("*/x86/*.so")
jniLibs.keepDebugSymbols.add("*/x86_64/*.so")
}
}
getByName("release") {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = true
proguardFiles(
*fileTree(".") { include("**/*.pro") }