diff options
author | 2022-11-25 14:06:46 +0000 | |
---|---|---|
committer | 2022-11-29 12:56:37 +0000 | |
commit | 805e0a53ef53299878643dffbb7641c21892bcfe (patch) | |
tree | 5c499a4b23786e13b849df32107f692e003ed596 /java/app_set.go | |
parent | 7d78bad7e258d4a30909d13143dd2718363ffe35 (diff) |
Ignore native bridge archs for apex selection
This leads to an arm64 apex being used on a device that is mixed
x86_64 with nativebridge=arm64. A device like that doesn't appear
to work with arm64 binaries. For example, the boringssl-self-check
binary crashes on boot.
Bug: 260115309
Test: unit test
Test: boot emulator with this combination
Change-Id: Ic4a91974290a05b1799f755fcf52ef226d68f4c2
Diffstat (limited to 'java/app_set.go')
-rw-r--r-- | java/app_set.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/java/app_set.go b/java/app_set.go index d8c2a8d3c..0f55b7791 100644 --- a/java/app_set.go +++ b/java/app_set.go @@ -98,7 +98,7 @@ var TargetCpuAbi = map[string]string{ "x86_64": "X86_64", } -func SupportedAbis(ctx android.ModuleContext) []string { +func SupportedAbis(ctx android.ModuleContext, excludeNativeBridgeAbis bool) []string { abiName := func(targetIdx int, deviceArch string) string { if abi, found := TargetCpuAbi[deviceArch]; found { return abi @@ -109,6 +109,9 @@ func SupportedAbis(ctx android.ModuleContext) []string { var result []string for i, target := range ctx.Config().Targets[android.Android] { + if target.NativeBridge == android.NativeBridgeEnabled && excludeNativeBridgeAbis { + continue + } result = append(result, abiName(i, target.Arch.ArchType.String())) } return result @@ -135,7 +138,7 @@ func (as *AndroidAppSet) GenerateAndroidBuildActions(ctx android.ModuleContext) ImplicitOutputs: android.WritablePaths{as.packedOutput, as.apkcertsFile}, Inputs: android.Paths{as.prebuilt.SingleSourcePath(ctx)}, Args: map[string]string{ - "abis": strings.Join(SupportedAbis(ctx), ","), + "abis": strings.Join(SupportedAbis(ctx, false), ","), "allow-prereleased": strconv.FormatBool(proptools.Bool(as.properties.Prerelease)), "screen-densities": screenDensities, "sdk-version": ctx.Config().PlatformSdkVersion().String(), |