Tags: iscle/AndroidAutoPlus
Tags
Sign releases with a stable keystore instead of the ephemeral debug key CI signed release APKs with the runner's debug keystore, which is regenerated on every run, so each release had a different signature and could not be installed as an update over a previous one. Add a real release signingConfig fed from GitHub secrets (keystore base64 + passwords + alias), decoded in the workflow; local builds without the secrets still fall back to debug signing. Ignore *.jks/*.keystore. Bump version to 1.3 (4). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fix settings UI crash: use LSPosed new XSharedPreferences getSharedPreferences(name, MODE_WORLD_READABLE) throws SecurityException on Android 7+ (minSdk 26), crashing the settings UI on launch. Adopt LSPosed's "new XSharedPreferences": declare the xposedsharedprefs manifest meta-data so LSPosed restores MODE_WORLD_READABLE in the module process, and route the UI through a getModuleSharedPreferences() helper that falls back to MODE_PRIVATE (instead of crashing) when the module isn't injected by LSPosed. The hook side keeps reading via XSharedPreferences, which LSPosed transparently redirects to the new world-readable location. Bump version to 1.2 (3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CI: target compileSdk 36 so the release build works on hosted runners Android 17 (API 37) is not yet in the public SDK repo that GitHub runners use, so sdkmanager could not install platforms;android-37. Drop compileSdk/targetSdk to 36, pin androidx.core:core-ktx to 1.18.0 (the newest release that still targets 36), and install platforms;android-36 in the workflow. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>