Everything written this session that has not been through the device: rounds 43 to 48 (each patch adversarially verified, 43's transient-notice expectation fixed), a partial round 49, the pipeline scripts, the Android Auto design and the icon comparison mock. Also the two harness changes that were never A/B'd — adaptive waits, which may only shorten a declared wait and never lengthen it, and a ship that runs the mock walk and the deploy at the same time. The A/B and its 255-step baseline are in handoff/tools; main stays at what the phone has actually walked.
29 lines
1.8 KiB
Plaintext
29 lines
1.8 KiB
Plaintext
cd /f/Coding/SoulStream
|
|
if [ "$REL" = "1" ]; then
|
|
UNSIGNED=src-tauri/gen/android/app/build/outputs/apk/arm64/release/app-arm64-release-unsigned.apk
|
|
if [ ! -f "$UNSIGNED" ]; then
|
|
echo "no release APK — gradle's tail is above. The two failures we expect:"
|
|
echo " R8 missing class — its own list is at src-tauri/gen/android/app/build/outputs/mapping/arm64Release/missing_rules.txt;"
|
|
echo " add what it names to src-tauri/android/proguard-soulstream.pro and run again"
|
|
echo " lintVital — re-run gradle by hand with -x lintVitalArm64Release"
|
|
echo " (AGP 8 splits it; -x lintVitalAnalyzeArm64Release may be the one)"
|
|
exit 1
|
|
fi
|
|
KS="$HOME/.android/debug.keystore"
|
|
test -f "$KS" || { echo "no $KS — the release APK is unsigned and no phone will install it"; exit 1; }
|
|
BT="$(ls -d "$SDK"/build-tools/* 2>/dev/null | sort -V | tail -1 || true)"
|
|
test -n "$BT" || { echo "no build-tools under $SDK — cannot sign"; exit 1; }
|
|
APK=src-tauri/gen/android/app/build/outputs/apk/arm64/release/app-arm64-release.apk
|
|
echo "== sign $(date +%T) ($(basename "$BT"))"
|
|
"$BT/zipalign.exe" -p -f 4 "$UNSIGNED" "$APK"
|
|
# The SAME key the debug builds are signed with, deliberately. A release
|
|
# APK signed with any other key cannot be installed over the app already
|
|
# on the phone, and the obvious next move — uninstall, then install —
|
|
# takes the app's data with it. This is a test build, not a distributable
|
|
# one; a real one needs a real key and this script is not where that goes.
|
|
MSYS_NO_PATHCONV=1 "$BT/apksigner.bat" sign --ks "$(cygpath -w "$KS")" --ks-key-alias androiddebugkey --ks-pass pass:android --key-pass pass:android "$APK"
|
|
else
|
|
APK=src-tauri/gen/android/app/build/outputs/apk/arm64/debug/app-arm64-debug.apk
|
|
fi
|
|
ls -la "$APK"
|