From d8d83a88e46ad2f421e376bd072329c7451298c0 Mon Sep 17 00:00:00 2001 From: Anish Mishra Date: Fri, 1 Aug 2025 21:44:41 +0530 Subject: [PATCH] Switch to gradle export: Splash screen animation and aab export --- .github/workflows/build.yml | 42 ++++++++++++++------- export_presets.cfg | 26 ++++++++----- godot_only/splash_anim.xml | 75 +++++++++++++++++++++++++++++++++++++ project.godot | 2 +- 4 files changed, 120 insertions(+), 25 deletions(-) create mode 100644 godot_only/splash_anim.xml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14a87e4..c88b198 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,6 +112,20 @@ jobs: mv ./bin/android_release.apk ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_release.apk mv ./bin/android_source.zip ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_source.zip + - name: Set up android build template + run: | + cd vectortouch + mkdir -p android/build + unzip -q ~/.local/share/godot/export_templates/${GODOT_VERSION}.${GODOT_RELEASE}/android_source.zip -d android/build + touch android/build/.gdignore + echo "${GODOT_VERSION}.${GODOT_RELEASE}" > android/.build_version + + - name: Add splash animation file + run: | + cd vectortouch + mkdir -p android/build/res/drawable + cp godot_only/splash_anim.xml android/build/res/drawable/splash_anim.xml + - name: Export debug project env: GODOT_ANDROID_KEYSTORE_DEBUG_PATH: "./godot_only/debug.keystore" @@ -119,42 +133,42 @@ jobs: GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD: "android" run: | cd vectortouch - mkdir -p build/android - godot --headless --export-debug "Android" build/android/VectorTouch-debug.apk + mkdir -p artifacts + godot --headless --export-debug "Android" artifacts/VectorTouch-debug.apk - name: Export release project - if: github.event.pull_request.head.repo.fork != true + if: github.event_name == 'workflow_dispatch' env: GODOT_ANDROID_KEYSTORE_RELEASE_PATH: "/tmp/release.keystore" GODOT_ANDROID_KEYSTORE_RELEASE_USER: ${{ secrets.KEY_ALIAS }} GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} run: | cd vectortouch - mkdir -p build/android + mkdir -p artifacts echo "${{ secrets.KEYSTORE }}" | base64 -d > /tmp/release.keystore - godot --headless --export-release "Android(arm32)" build/android/VectorTouch-arm32.apk - godot --headless --export-release "Android" build/android/VectorTouch.apk + godot --headless --export-release "Android" artifacts/VectorTouch.apk + godot --headless --export-release "Android-aab" artifacts/VectorTouch.aab - - name: Upload debug artifact + - name: Upload debug apk uses: actions/upload-artifact@v4 with: - name: ${{ env.PROJECT_NAME }}.debug - path: vectortouch/build/android/VectorTouch-debug.apk + name: ${{ env.PROJECT_NAME }}-debug + path: vectortouch/artifacts/VectorTouch-debug.apk if-no-files-found: error retention-days: 28 - - name: Upload release artifact + - name: Upload release apk uses: actions/upload-artifact@v4 with: name: ${{ env.PROJECT_NAME }} - path: vectortouch/build/android/VectorTouch.apk + path: vectortouch/artifacts/VectorTouch.apk if-no-files-found: ignore retention-days: 28 - - name: Upload arm32 APK + - name: Upload release aab uses: actions/upload-artifact@v4 with: - name: ${{ env.PROJECT_NAME }}-arm32 - path: vectortouch/build/android/VectorTouch-arm32.apk + name: ${{ env.PROJECT_NAME }}-aab + path: vectortouch/artifacts/VectorTouch.aab if-no-files-found: ignore retention-days: 28 diff --git a/export_presets.cfg b/export_presets.cfg index bbc2d32..4b06249 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -22,14 +22,17 @@ script_export_mode=2 custom_template/debug="" custom_template/release="" -gradle_build/use_gradle_build=false +gradle_build/use_gradle_build=true gradle_build/gradle_build_directory="" gradle_build/android_source_template="" gradle_build/export_format=0 gradle_build/min_sdk="" gradle_build/target_sdk="" -gradle_build/custom_theme_attributes={} -architectures/armeabi-v7a=false +gradle_build/custom_theme_attributes={ +"android:windowSplashScreenBackground": "#1a1a1a", +"windowSplashScreenAnimatedIcon": "@drawable/splash_anim" +} +architectures/armeabi-v7a=true architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false @@ -222,7 +225,7 @@ wear_os/swipe_to_dismiss=true [preset.1] -name="Android(arm32)" +name="Android-aab" platform="Android" runnable=false advanced_options=true @@ -244,17 +247,20 @@ script_export_mode=2 custom_template/debug="" custom_template/release="" -gradle_build/use_gradle_build=false +gradle_build/use_gradle_build=true gradle_build/gradle_build_directory="" gradle_build/android_source_template="" -gradle_build/export_format=0 +gradle_build/export_format=1 gradle_build/min_sdk="" gradle_build/target_sdk="" -gradle_build/custom_theme_attributes={} +gradle_build/custom_theme_attributes={ +"android:windowSplashScreenBackground": "#1a1a1a", +"windowSplashScreenAnimatedIcon": "@drawable/splash_anim" +} architectures/armeabi-v7a=true -architectures/arm64-v8a=false -architectures/x86=false -architectures/x86_64=false +architectures/arm64-v8a=true +architectures/x86=true +architectures/x86_64=true version/code=3 version/name="1.0-alpha3" package/unique_name="com.vectortouch.app" diff --git a/godot_only/splash_anim.xml b/godot_only/splash_anim.xml new file mode 100644 index 0000000..3cf4a26 --- /dev/null +++ b/godot_only/splash_anim.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/project.godot b/project.godot index 92174bc..6a19f75 100644 --- a/project.godot +++ b/project.godot @@ -19,7 +19,7 @@ config/features=PackedStringArray("4.5") run/low_processor_mode=true boot_splash/bg_color=Color(0.101960786, 0.101960786, 0.101960786, 1) boot_splash/fullsize=false -boot_splash/image="uid://csx7rrk4qdh40" +boot_splash/image="uid://bt124msoa30ho" config/icon="uid://bt124msoa30ho" [audio]