Kein zweiter Agent: dieselbe APK laeuft auf Fire TV, Fähigkeiten capability-gated (wie beim Desktop-Agent). - Manifest: touchscreen/faketouch/leanback als required=false (sonst gilt die App als Touch-Pflicht bzw. laeuft nicht mehr aufs Handy), LEANBACK_LAUNCHER (ohne das fehlt die App im Fire-TV-Menue), TV-Banner (Launcher zeigt Banner statt Icon). - RvsClient: isTv-Erkennung (leanback/television/UiModeManager) -> caps bekommen 'tv', os meldet 'Fire TV / Android TV'. - AriaAccessibilityService.globalKey: D-Pad (up/down/left/right/ok) via Fokus- Navigation, Medientasten via dispatchMediaKeyEvent, Lautstaerke/Mute via AudioManager — deutsche Aliase (hoch/runter/lauter/stumm). - MainActivity/Layout: auf TV QR-Scan ausgeblendet (keine Kamera), erster Fokus gesetzt, Buttons fokussierbar (Fernbedienung). Version 0.0.0.8. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
58 lines
1.7 KiB
Groovy
58 lines
1.7 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
android {
|
|
namespace 'de.hackersoft.ariaagent'
|
|
compileSdk 34
|
|
|
|
defaultConfig {
|
|
applicationId 'de.hackersoft.ariaagent'
|
|
minSdk 26
|
|
targetSdk 33 // 33 vermeidet die Foreground-Service-Typ-Pflicht von 34
|
|
versionCode 8
|
|
versionName '0.0.0.8'
|
|
}
|
|
|
|
// Fester Signaturschlüssel: jeder Build signiert mit DEMSELBEN Key, damit
|
|
// Android neue APKs als Update derselben App akzeptiert (sonst "Konflikt mit
|
|
// bestehendem Paket"). Die Keystore-Datei liegt NUR lokal (gitignored, nicht
|
|
// im oeffentlichen Repo) — UNBEDINGT sichern, sonst brechen kuenftige Updates.
|
|
def ariaKeystore = rootProject.file('aria-agent.keystore')
|
|
signingConfigs {
|
|
aria {
|
|
if (ariaKeystore.exists()) {
|
|
storeFile ariaKeystore
|
|
storePassword 'ariaagent'
|
|
keyAlias 'aria'
|
|
keyPassword 'ariaagent'
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
if (ariaKeystore.exists()) signingConfig signingConfigs.aria
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
if (ariaKeystore.exists()) signingConfig signingConfigs.aria
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.core:core-ktx:1.12.0'
|
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
implementation 'com.squareup.okhttp3:okhttp:4.12.0' // RVS-WebSocket
|
|
implementation 'com.journeyapps:zxing-android-embedded:4.3.0' // QR-Scan (FOSS, kein Google-Dienst)
|
|
}
|