fix: simply build AAB

This commit is contained in:
NickVs2015
2026-06-02 18:13:28 +03:00
parent cf9e521fc1
commit 589d08bef8
3 changed files with 12 additions and 18 deletions
+4 -4
View File
@@ -873,7 +873,7 @@ jobs:
deploy/build.sh -t android --sign --aab --play --build ./deploy/build/play
(cd deploy/build/play/client/android-build/build/outputs/bundle/release && mv android-build-release.aab AmneziaVPN_${VERSION}_play.aab)
(cd deploy/build/play/client/android-build/build/outputs/bundle/playRelease && mv *.aab AmneziaVPN_${VERSION}_play.aab)
- name: 'Build Play APK'
env:
@@ -887,7 +887,7 @@ jobs:
deploy/build.sh -t android --sign --apk --play --build ./deploy/build/play-apk
(cd deploy/build/play-apk/client/android-build/build/outputs/apk && mv android-build-release-unsigned.apk AmneziaVPN_${VERSION}_play.apk)
(cd deploy/build/play-apk/client/android-build/build/outputs/apk/play/release && mv *.apk AmneziaVPN_${VERSION}_play.apk)
- name: 'Upload universal APK'
uses: actions/upload-artifact@v7
@@ -906,14 +906,14 @@ jobs:
- name: 'Upload Play AAB'
uses: actions/upload-artifact@v7
with:
path: deploy/build/play/client/android-build/build/outputs/bundle/release/*.aab
path: deploy/build/play/client/android-build/build/outputs/bundle/playRelease/*.aab
archive: false
retention-days: 7
- name: 'Upload Play APK'
uses: actions/upload-artifact@v7
with:
path: deploy/build/play-apk/client/android-build/build/outputs/apk/*.apk
path: deploy/build/play-apk/client/android-build/build/outputs/apk/play/release/*.apk
archive: false
retention-days: 7
+6 -10
View File
@@ -133,21 +133,19 @@ android {
// AAB: build/outputs/bundle/{buildType}/{base}-{buildType}.aab (no flavor subdir)
// where {base} = outputBaseName (set by Qt Creator) or "android-build" (CI fallback).
// Release APK gets -unsigned suffix (Qt cmake signs it); debug does not.
// Copy only oss flavor to the flat output dir that androiddeployqt/Qt Creator expect.
// Play flavor is built via android_play_apk/android_play_aab cmake targets and uses
// its native Gradle output paths directly.
applicationVariants.all {
val flavorName = productFlavors.firstOrNull()?.name ?: ""
val buildTypeName = buildType.name
// Copy play flavor only when invoked explicitly (android_play_apk/aab cmake targets pass -DexplicitRun=1).
// This prevents play from overwriting oss in the flat output dir during normal Qt Creator builds.
val isExplicitRun = project.findProperty("explicitRun") == "1"
val shouldCopy = flavorName == "oss" || (flavorName == "play" && isExplicitRun)
if (shouldCopy) {
if (flavorName == "oss") {
val base = outputBaseName.ifEmpty { "android-build" }
val unsignedSuffix = if (buildTypeName == "release") "-unsigned" else ""
// APK: copy to outputs/apk/{base}-{buildType}[-unsigned].apk
packageApplicationProvider.configure {
doLast {
val srcDir = layout.buildDirectory.dir("outputs/apk/$flavorName/$buildTypeName").get().asFile
val srcDir = layout.buildDirectory.dir("outputs/apk/oss/$buildTypeName").get().asFile
val dstDir = layout.buildDirectory.dir("outputs/apk").get().asFile
dstDir.mkdirs()
srcDir.listFiles()?.filter { it.name.endsWith(".apk") }?.forEach { apk ->
@@ -156,11 +154,9 @@ android {
}
}
// AAB: copy to outputs/bundle/{buildType}/{base}-{buildType}.aab
tasks.named("bundle${name.replaceFirstChar { it.uppercase() }}") {
doLast {
val variantBundleDir = "${flavorName}${buildTypeName.replaceFirstChar { it.uppercase() }}"
val srcDir = layout.buildDirectory.dir("outputs/bundle/$variantBundleDir").get().asFile
val srcDir = layout.buildDirectory.dir("outputs/bundle/ossRelease").get().asFile
val dstDir = layout.buildDirectory.dir("outputs/bundle/$buildTypeName").get().asFile
dstDir.mkdirs()
srcDir.listFiles()?.filter { it.name.endsWith(".aab") }?.forEach { aab ->
+2 -4
View File
@@ -66,14 +66,12 @@ if(ANDROID_BUILD_PLAY)
endif()
set(_android_build_dir "${CMAKE_CURRENT_BINARY_DIR}/android-build")
add_custom_target(android_play_apk
COMMAND ./gradlew assemblePlay${_gradle_suffix} -PexplicitRun=1
WORKING_DIRECTORY "${_android_build_dir}"
COMMAND ./gradlew assemblePlay${_gradle_suffix} WORKING_DIRECTORY "${_android_build_dir}"
COMMENT "Building Android Play APK (assemblePlay${_gradle_suffix})"
DEPENDS ${PROJECT}
)
add_custom_target(android_play_aab
COMMAND ./gradlew bundlePlay${_gradle_suffix} -PexplicitRun=1
WORKING_DIRECTORY "${_android_build_dir}"
COMMAND ./gradlew bundlePlay${_gradle_suffix} WORKING_DIRECTORY "${_android_build_dir}"
COMMENT "Building Android Play AAB (bundlePlay${_gradle_suffix})"
DEPENDS ${PROJECT}
)