In-app-uppdatering: koll mot version.json, nedladdning och installation
All checks were successful
release / build-release (push) Successful in 5m26s
All checks were successful
release / build-release (push) Successful in 5m26s
- CI publicerar version.json (versionCode/versionName ur APK:n, sha256, apkUrl) som release-asset - Appen jämför versionCode vid start; banner på hemskärmen med nedladdningsprogress; sha256-verifiering; Androids installationsdialog via FileProvider (samma signatur -> uppdaterar rakt över) - REQUEST_INSTALL_PACKAGES + FileProvider i manifestet Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
This commit is contained in:
@@ -90,6 +90,18 @@ jobs:
|
||||
mkdir -p build
|
||||
cp app/build/outputs/apk/release/app-release.apk build/FitnessDroid.apk
|
||||
(cd build && sha256sum FitnessDroid.apk > checksums.txt && ls -la)
|
||||
# version.json för appens inbyggda uppdateringskoll
|
||||
VN=$("$HOME/ci-tools/build-tools/aapt2" dump badging build/FitnessDroid.apk \
|
||||
| sed -n "s/.*versionName='\([^']*\)'.*/\1/p" | head -1)
|
||||
SHA=$(cut -d' ' -f1 build/checksums.txt)
|
||||
jq -n \
|
||||
--argjson code "${{ github.run_number }}" \
|
||||
--arg name "$VN" \
|
||||
--arg sha "$SHA" \
|
||||
--arg url "https://gitea.brasse-pc.eu/${{ github.repository }}/releases/download/latest/FitnessDroid.apk" \
|
||||
'{versionCode:$code, versionName:$name, sha256:$sha, apkUrl:$url}' \
|
||||
> build/version.json
|
||||
cat build/version.json
|
||||
|
||||
- name: Skapa/uppdatera latest-release + ladda upp APK
|
||||
env:
|
||||
@@ -124,7 +136,7 @@ jobs:
|
||||
-d "$(jq -n --arg body "$BODY" '{body:$body}')" -o /dev/null
|
||||
fi
|
||||
echo "release id: $rid"
|
||||
for f in FitnessDroid.apk checksums.txt; do
|
||||
for f in FitnessDroid.apk checksums.txt version.json; do
|
||||
aid=$(curl -s "$API/repos/$REPO/releases/$rid/assets" \
|
||||
-H "Authorization: token $TOKEN" | jq -r ".[] | select(.name==\"$f\") | .id")
|
||||
if [ -n "$aid" ] && [ "$aid" != "null" ]; then
|
||||
|
||||
Reference in New Issue
Block a user