crossbundle_tools/commands/android/common/
attach_logger.rs1use crate::{error::*, types::AndroidSdk};
2use std::process::Command;
3
4fn logcat_cmd(sdk: &AndroidSdk) -> Result<Command> {
6 let mut adb = sdk.platform_tool(bin!("adb"))?;
7 adb.arg("logcat");
8 Ok(adb)
9}
10
11pub fn attach_logger_only_rust(sdk: &AndroidSdk) -> Result<()> {
14 let mut adb = logcat_cmd(sdk)?;
15 adb.arg("RustStdoutStderr:D")
16 .arg("SAPP:D")
17 .arg("Crossbow:D")
18 .arg("CrossbowPlugin:D")
19 .arg("*:S");
20 adb.spawn()?.wait()?;
21 Ok(())
22}
23
24pub fn attach_logger_only_app(sdk: &AndroidSdk) -> Result<()> {
27 let mut adb_shell = sdk.platform_tool(bin!("adb"))?;
28 adb_shell.args(["shell", "pidof", "-s", "com.crossbow.game"]);
29 let res = adb_shell.output()?.stdout;
30 let pid = String::from_utf8_lossy(&res).to_string();
31
32 let mut adb = logcat_cmd(sdk)?;
33 adb.arg("--pid").arg(pid.trim());
34 adb.spawn()?.wait()?;
35 Ok(())
36}
37
38