diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 24c806300e1f1c8f735872cbf9399682c67c1ac7..469c971f132c0d6987e5fb4e19618d084d2cc73f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,7 @@ android:build-debug: # build flutter app - flutter packages get - flutter clean + - flutter build apk --debug --split-per-abi - flutter build apk --debug # prepare artifact - find . -name "*.apk" # where is my apk? @@ -63,6 +64,7 @@ android:build-release: else flutter packages get flutter clean + flutter build apk --release --split-per-abi flutter build apk --release fi # prepare artifact diff --git a/android/app/build.gradle b/android/app/build.gradle index 1c18897bb8e1dff4201c6ecd19c12b400fcb2ba1..1a07a0e2fb2c6ade7b6f788d0678cd819efb7838 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -62,6 +62,31 @@ android { signingConfig signingConfigs.release } } + + splits { + abi { + reset() + include('armeabi-v7a', 'x86', 'x86_64') + } + } +} + +ext.abiCodes = [ + 'armeabi-v7a': 1, + 'x86': 2, + 'x86_64': 3 +] + +import com.android.build.OutputFile + +android.applicationVariants.all { variant -> + variant.outputs.each { output -> + def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI)) + + if (baseAbiVersionCode != null) { + output.versionCodeOverride = baseAbiVersionCode * 1000 + variant.versionCode + } + } } flutter {