【问题标题】:How to connect internal Android adb to itself如何将内部Android adb连接到自身
【发布时间】:2013-12-06 19:14:18
【问题描述】:

从Android 4.0开始,“system/bin”文件夹中有一个“adb”命令

使用它,我想在 Android 操作系统中运行 adb 服务器/客户端并连接到自身。

我正在尝试通过安装在我的非 root 手机 Galaxy S3 上的“终端模拟器”来完成此操作。

我执行了这些命令:

adb devices

setprop service.adb.tcp.port 5555

stop adbd

start adbd

adb kill-server

adb devices

此时它应该显示设备本身“emulator-5554” 但它什么也没显示。

我关注了这个 博客:http://blog.kmckk.com/archives/4092970.html

【问题讨论】:

标签: android shell adb


【解决方案1】:

如果没有root,我会从magisk 模块中获取adb/fastboot,在termux 中使用git。

git 克隆https://github.com/Magisk-Modules-Repo/adb-ndk.git

7z x adb-ndk.zip

mkdir ~/.bin

mv adb-ndk/bin/* ~/.bin

chmod +x ~/.bin/*

导出 PATH=~/.bin:$PATH

mkdir tmp

sed -i 's#/data/local/tmp#~/tmp#g' ~/.bin/adb

(通过usb从笔记本电脑/root android,启用adb tcpip)

adb tcpip 8888(断开usb返回termux)

adb 连接 wifi-IP:8888 或 localhost:8888

adb 外壳

现在我是用户“shell”并允许执行 pm、settings、setprop 等

如果您收到“多个设备”错误,请再次从另一台设备启用 adb usb 然后 adb tcpip 8888 并在 termux 中执行 adb kill-server,然后再尝试再次连接。如果我很快就可以避免连接模拟器或多个主机。 adb 也可以选择指定主机。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

注意我的设备没有root

我已经使用https://github.com/MasterDevX/Termux-ADB 在 Termux 中安装了 adb

在终端模拟器中执行了这些命令:

cd /system/bin
start adbd

现在在 termux 中,adb 自动连接到 emulator-5554(设备本身):

$adb devices
emulator-5554        device

我不知道它是如何工作的,但它就像一个魅力

【讨论】:

  • 这只是模拟器而不是实际设备。如果您的命令有效,那么 adb devices 将输出设备而不是模拟器。在没有 root 权限的情况下访问 system/bin 文件夹几乎是不可能的
【解决方案3】:

无论如何,我成功授权了我的设备,通过 CHMOD 将 /data/local/tmp/ 转换为 777 rwxrwxrwx

【讨论】:

    【解决方案4】:

    那个博客的错误相当大。

    执行setprop service.adb.tcp.port 5555 的原因是为了让ADB daemon 在TCP 模式下运行在5555 端口(意为无线运行ADB),这样同一本地网络中的其他设备就可以通过5555 端口连接到您的设备.

    在运行 adb devices 之前,您必须将您的设备连接到在端口 5555 上运行的 ADB 服务器,然后输入:

    adb connect localhost:5555
    

    现在输入adb devices,您会看到您的设备。


    您无需 root 即可在设备上无线运行 ADB。

    【讨论】:

    • “无法设置属性”。我的手机是 Verizon(可能是原因)HTC One M7,android 5.0.2,棒棒糖
    • 没关系。初始命令需要来自计算机。我只使用adb tcpip [PORT]
    • 5555是否只用于本地无线连接?我想通过互联网连接我的安卓设备我需要另一个端口?
    • @MosheChernysh 我只知道使用 adb 进行本地连接的可能性。对于互联网上的 adb,我认为对此提出适当的问题将是一件好事。 :-)
    • 谢谢!我已经在这里问过了:stackoverflow.com/questions/63871137/…
    【解决方案5】:

    我确实在我的植根 Odroid-C1 上尝试了同样的方法,它可以正常工作(非常感谢您的链接!)。 但是在我的 Galaxy S4 上,它没有根。 所以我猜这里的答案是:你需要一个有根设备

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-26
      • 1970-01-01
      相关资源
      最近更新 更多