diff --git a/.github/workflows/Build-Apk.yml b/.github/workflows/Build-Apk.yml index 1d11199e..3c6152c0 100644 --- a/.github/workflows/Build-Apk.yml +++ b/.github/workflows/Build-Apk.yml @@ -35,13 +35,15 @@ jobs: echo GKD_KEY_ALIAS='${{ secrets.GKD_KEY_ALIAS }}' >> gradle.properties echo GKD_KEY_PASSWORD='${{ secrets.GKD_KEY_PASSWORD }}' >> gradle.properties + - run: echo GKD_RENAME_APK_FLAG=1 >> gradle.properties + - run: chmod 777 ./gradlew - run: ./gradlew app:assembleGkdRelease - uses: actions/upload-artifact@v7 with: archive: false - path: app/build/outputs/apk/gkd/release/app-gkd-release.apk + path: app/build/outputs/apk/gkd/release/*.apk - uses: actions/upload-artifact@v7 with: diff --git a/app/build.gradle.kts b/app/build.gradle.kts index ffb73ed2..138b073e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,3 +1,4 @@ +import com.android.build.api.variant.impl.VariantOutputImpl import org.jetbrains.kotlin.gradle.dsl.JvmTarget import kotlin.reflect.full.declaredMemberProperties @@ -17,7 +18,9 @@ data class GitInfo( val commitId: String, val commitTime: String, val tagName: String?, -) +) { + val versionNameSuffix get() = if (tagName == null) ("-" + commitId.take(7)) else null +} val gitInfo = GitInfo( commitId = "git rev-parse HEAD".runCommand(), @@ -112,9 +115,7 @@ android { buildTypes { all { - if (gitInfo.tagName == null) { - versionNameSuffix = "-${gitInfo.commitId.take(7)}" - } + versionNameSuffix = gitInfo.versionNameSuffix } release { isMinifyEnabled = true @@ -168,6 +169,15 @@ android { ) } +if (project.hasProperty("GKD_RENAME_APK_FLAG")) { + androidComponents.onVariants { variant -> + variant.outputs.onEach { output -> + output as VariantOutputImpl + output.outputFileName = "gkd-v${output.versionName.get()}.apk" + } + } +} + kotlin { compilerOptions { jvmTarget.set(rootProject.ext["kotlin.jvmTarget"] as JvmTarget)