name: Android export description: Android export inputs: android-keystore-base64: description: The base64 encoded keystore required: false android-password: description: The password of the keystore required: false default: android runs: using: composite steps: - name: Setup uses: bend-n/godot-actions/.github/actions/setup-godot@main - name: Download android sdks run: | # Generate android keystore and settings export ANDROID_HOME="/usr/lib/android-sdk" export PATH="${ANDROID_HOME}/cmdline-tools/cmdline-tools/bin:${PATH}" if [[ ! -d ${ANDROID_HOME}/cmdline-tools ]]; then echo "::group::Download Android SDKs" mkdir -p ${ANDROID_HOME}/cmdline-tools keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore /root/debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 wget -q https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip -O ~/tools.zip unzip -q ~/tools.zip -d ${ANDROID_HOME}/cmdline-tools && rm ~/tools.zip && echo "Installed command line tools" yes | sdkmanager --licenses >/dev/null && echo "Accepted licenses" sdkmanager "platform-tools" "build-tools;30.0.3" "platforms;android-29" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529" >/dev/null && echo "Installed Android SDKs" echo "::endgroup::" fi shell: bash - name: Prep build if: inputs.android-keystore-base64 run: | echo "::group::Prep build" cd "$PROJECT_PATH" password="${{ inputs.android-password }}" echo "${{ inputs.android-keystore-base64 }}" | base64 --decode > ~/release.keystore && echo "Decoded keystore" alias="$(keytool -storepass "$password" -list -v -keystore ~/release.keystore | grep -E '^Alias name:\s*(.+)$' | cut -d ' ' -f 3-)" && echo "Got alias name" sed "s@keystore/release=\"\"@keystore/release=\"$HOME/release.keystore\"@g" -i export_presets.cfg && sed 's@keystore/release_user=".*"@keystore/release_user="'$alias'"@g' -i export_presets.cfg && sed 's@keystore/release_password=".*"@keystore/release_password="'$password'"@g' -i export_presets.cfg && echo "Configured export_presets.cfg" echo "::endgroup::" shell: bash - name: Build uses: bend-n/godot-actions/.github/actions/export@main with: debug: ${{ inputs.android-keystore-base64 }} extension: apk platform: android