Android app (TWA) in android/, built with podman; serve assetlinks.json for it

This commit is contained in:
Astra 2026-10-03 12:44:11 +01:00
parent 44708d5f3c
commit 7900bf5b3e
21 changed files with 313 additions and 0 deletions

53
android/app/build.gradle Normal file
View file

@ -0,0 +1,53 @@
plugins {
id "com.android.application"
}
// The site the app opens. It must serve /.well-known/assetlinks.json naming this app's package and
// signing key, or Chrome shows its URL bar over the app (see SAW_ANDROID_* in example.env).
def siteURL = "https://cs2.zio.sh"
def startPath = "/"
android {
namespace "sh.zio.cs2"
compileSdk 36
defaultConfig {
// Never change applicationId once installed anywhere: Android treats it as a different app.
applicationId "sh.zio.cs2"
minSdk 24
targetSdk 36
// Bump versionCode for every APK you hand out, or Android refuses to update over the old one.
versionCode 2
versionName "1.0"
resValue "string", "launch_url", siteURL + startPath
resValue "string", "asset_statements",
"[{\\\"relation\\\": [\\\"delegate_permission/common.handle_all_urls\\\"], \\\"target\\\": {\\\"namespace\\\": \\\"web\\\", \\\"site\\\": \\\"" + siteURL + "\\\"}}]"
}
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE_FILE") ?: "/keystore/release.jks")
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias "release"
keyPassword System.getenv("KEYSTORE_PASSWORD")
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt")
signingConfig signingConfigs.release
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
dependencies {
implementation "com.google.androidbrowserhelper:androidbrowserhelper:2.7.3"
}