From ddeeb540fc9f7652b74e2e8b59829e73b44ca400 Mon Sep 17 00:00:00 2001 From: Koji AGAWA Date: Tue, 28 Oct 2025 04:40:39 +0900 Subject: [PATCH] fix(cli): correct Android toolchain target for 32-bit arm architectures (#4837) * fix(cli): correct Android toolchain target for 32-bit arm architectures * style: rustfmt --- packages/cli/src/build/tools.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/build/tools.rs b/packages/cli/src/build/tools.rs index a0121fdf6..d0638014c 100644 --- a/packages/cli/src/build/tools.rs +++ b/packages/cli/src/build/tools.rs @@ -163,8 +163,13 @@ impl AndroidTools { "" }; + let target = match triple.architecture { + Architecture::Arm(_) => "armv7a-linux-androideabi", + _ => &triple.to_string(), + }; + self.android_tools_dir() - .join(format!("{}{}-clang{}", triple, sdk_version, suffix)) + .join(format!("{}{}-clang{}", target, sdk_version, suffix)) } pub(crate) fn sysroot(&self) -> PathBuf { @@ -247,7 +252,9 @@ impl AndroidTools { match output { Ok(Ok(out)) => match out.trim() { - "armv7l" => triple.architecture = Architecture::Arm(ArmArchitecture::Arm), + "armv7l" | "armv8l" => { + triple.architecture = Architecture::Arm(ArmArchitecture::Arm) + } "aarch64" => { triple.architecture = Architecture::Aarch64(Aarch64Architecture::Aarch64) }