crossbundle_tools/commands/android/common/detect_abi.rs
1use crate::{
2 error::*,
3 types::{AndroidSdk, AndroidTarget},
4};
5
6/// Returns current android target.
7/// Runs `adb shell getprop ro.product.cpu.abi` command
8pub fn detect_abi(sdk: &AndroidSdk) -> Result<AndroidTarget> {
9 let mut adb = sdk.platform_tool(bin!("adb"))?;
10 adb.arg("shell").arg("getprop").arg("ro.product.cpu.abi");
11 let stdout = adb.output_err(true)?.stdout;
12 let abi = std::str::from_utf8(&stdout).or(Err(AndroidError::UnsupportedTarget))?;
13 AndroidTarget::from_android_abi(abi.trim())
14}