mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Related to #180137 Not equivalent migrations, Before [1]* release/debug `BuildType`'s were modified to clear the set abi values and force set the 3 abi values flutter supports. The proposed code allows overriding of the abi config in defaultConfig without a flag but *requires* `-P disable-abi-filtering=true` to set custom values in either BuildTypes or Flavors. Flavors requiring a flag is consistent behavior with no change. This is because the "newDsl" only allows a union of default and other build types AGP bug tracking this can be found here http://issuetracker.google.com/issues/285353854. [1] if --split-abi flag was not passed and the app did not disable abi filter in their build props `onVariants` is not preferred because [variant](https://android.googlesource.com/platform/tools/base/+/refs/heads/mirror-goog-studio-main/build-system/gradle-api/src/main/java/com/android/build/api/variant/Variant.kt) does not contain the values we wish to set. Specifically any abi/ndk values. The "buildType" on variant is a string which is not the same as `BaseExtension.buildTypes`. `variantBuilder` similarly did not have the values we want to modify. [VariantBuilder Source](https://android.googlesource.com/platform/tools/base/+/refs/heads/mirror-goog-studio-main/build-system/gradle-api/src/main/java/com/android/build/api/variant/VariantBuilder.kt). Command to run a specific jni integration tests from `packages/flutter_tools/` `FLUTTER_ROOT=~/flutter-work/ ../../bin/cache/dart-sdk/bin/dart test test/integration.shard/gradle_jni_packaging_test.dart --plain-name 'abiFilters provided by the user take precedence over the default'` ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Gray Mackall <34871572+gmackall@users.noreply.github.com> Co-authored-by: jesswrd <jessiewong401@gmail.com>