标签: adb

是否可以伪造进程的特定路径?

我正在尝试在我不是 root 的多个用户的 linux 服务器上运行 ADB(与我的 android 模拟器一起玩)。adb 守护进程将其日志写入文件/tmp/adb.log,不幸的是,该文件似乎已硬编码到 ADB 中,并且这种情况不会改变

因此, adb 无法运行,给出了明显的错误:cannot open '/tmp/adb.log': Permission denied. 这个文件是由另一个用户创建的,并且/tmp有粘性位。如果我启动 adb 并adb nodaemon server使其写入 stdout,则不会发生错误(我还将其端口设置为唯一值以避免冲突)。

我的问题是:有什么方法可以让 ADB 写入另一个文件而不是/tmp/adb.log? 更一般地说,有没有办法创建一种特定于进程的符号链接?我想将所有文件访问重定向/tmp/adb.log到一个文件~/tmp/adb.log

再次,我不是根服务器上,因此chrootmount -o rbindchmod不能有效的选项。如果可能,我不想修改 ADB 源,但如果没有其他解决方案,我肯定会这样做。

PS对于具体ADB情况下,我可以诉诸运行adb nodaemon servernohup输出重定向,但总的问题仍然是相关的。

linux filenames adb

10
推荐指数
2
解决办法
3530
查看次数

FreeBSD 上的 Android 工作室

我想知道可以在 FreeBSD 中使用 Android studio 吗?我试图运行它,但我不能。我从端口安装了 IntelliJ,但没有选择 Android SDK 的选项。

freebsd android adb

7
推荐指数
1
解决办法
5295
查看次数

如何评估 adb shell 命令的结果?

例如,我想检查手机上是否存在目录。

R=$(adb shell 'ls /mnt/; echo $?' | tail -1);

$ echo $R
0

$ if [ "$R" -ne 0 ]; then echo "Path doesn't exist"; else echo "Path exists"; fi
: integer expression expected
Path exists
Run Code Online (Sandbox Code Playgroud)

R 有什么问题?好的,尝试使用另一个绝对为 0 的变量。

$ x=0
$ if [ "$x" -ne 0 ]; then echo "Path doesn't exist"; else echo "Path exists"; fi

Path exists

$ echo "|$x|"
|0|

$ echo "|$R|"
|0
Run Code Online (Sandbox Code Playgroud)

不打印第二个管道。0后面有字符吗?尝试修剪:

$ R=$(adb shell 'ls /mnt/; echo $?' | tail …
Run Code Online (Sandbox Code Playgroud)

shell bash command-substitution adb

1
推荐指数
1
解决办法
8634
查看次数

无法满足shell脚本中的if条件

我试图在下面执行以下 shell 脚本

function Check_Status () {

       if [[ "$(adb shell getprop sys.boot_completed)" =~ "adb: no devices/emulators found" ]]; 
       then
          echo "here"

       else 
            echo "im here"
       fi;
};

Check_Status
Run Code Online (Sandbox Code Playgroud)

我得到以下输出,我期待看到“这里”而不是“我在这里”

截屏

不确定会丢失什么

linux bash shell-script adb

0
推荐指数
1
解决办法
43
查看次数