在这里,我们将给大家分享关于Ubuntu下ADB调试Android找不到设备的解决方法的知识,让您更了解ubuntuadbdevices找不到设备的本质,同时也会涉及到如何更有效地ADB-无法创建调试
在这里,我们将给大家分享关于Ubuntu 下 ADB 调试 Android 找不到设备的解决方法的知识,让您更了解ubuntu adb devices 找不到设备的本质,同时也会涉及到如何更有效地ADB - 无法创建调试桥:无法启动 adb 服务器、adb client, adb server, adbd 原理浅析(附带我的操作过程)、ADB enhanced Putty (replacement for "adb shell")、adb install 安装apk adb install 安装的apk在哪个路径的内容。
本文目录一览:- Ubuntu 下 ADB 调试 Android 找不到设备的解决方法(ubuntu adb devices 找不到设备)
- ADB - 无法创建调试桥:无法启动 adb 服务器
- adb client, adb server, adbd 原理浅析(附带我的操作过程)
- ADB enhanced Putty (replacement for "adb shell")
- adb install 安装apk adb install 安装的apk在哪个路径
Ubuntu 下 ADB 调试 Android 找不到设备的解决方法(ubuntu adb devices 找不到设备)
在 Ubuntu 11.04 下通过 usb 连接 Android 设备,使用 adb 时,会返回如下带有????的字符串。
- List of devices attached
- ???????????? no permissions
1. 在终端运行 lsusb
会发现结果有会有如下类似记录:
- Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
- Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
- Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Bus 001 Device 002: ID 22b8:7087 Motorola PCS
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2. 使用 Vim 创建一个空文件,命令如下
- sudo vim /etc/udev/rules.d/50-Android.rules
4. 执行后输入如下文本
- SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
4. 继续运行以下命令
- sudo chmod a+rx /etc/udev/rules.d/50-Android.rules
- sudo /etc/init.d/udev restart
5. 在 Android sdk 的 tools 目录下运行 。就是 adb 命令所在的目录
- sudo ./adb kill-server
- sudo ./adb devices
然后就可以用 adb 命令来进行其他操作.
我的电脑执行 adb devices 命令后显示如下正常字符串
- orola_olympus$ adb devices
- List of devices attached
- TA01403JXL device
ADB - 无法创建调试桥:无法启动 adb 服务器
如何解决ADB - 无法创建调试桥:无法启动 adb 服务器
尝试从 AVD 启动模拟设备时出现错误:
java.lang.RuntimeException: Unable to create Debug Bridge: Unable to start adb server: error: protocol fault (Couldn''t read status): No error
''C:\\Android\\Sdk\\platform-tools\\adb.exe start-server'' Failed -- run manually if necessary
到目前为止我从社区收到的一些建议:
- 手动运行 adb start-server 命令
- 重新安装独立的和从 SDK 管理器中的平台工具
- 重新安装 Android Studio
- 重新安装 Java
- 重新启动计算机
这些选项似乎都不能解决我的问题。我已经尝试禁用我的防火墙并为 adb 运行的可执行文件和端口添加入站规则,但仍然没有运气。
我觉得奇怪的是它说:“没有错误”。我一直无法在任何地方找到此状态的记录。
有没有人知道我可以做些什么来解决这个问题?我现在有点累,所以如果您需要任何其他信息,请告诉我。
谢谢
adb client, adb server, adbd 原理浅析(附带我的操作过程)
adb 是什么?adb 就是 Android 调试桥,很形象啊。 先来看 adb 原理的逻辑图:
再来进行实际操作:我的 pc 的 ip 是 192.168.1.102, 我的 android 手机的 ip 为 192.168.1.100
1. 在 pc 上执行:netstat -nao | findstr 5037
发现结果是空白。
2. 执行 adb shell, 肯定是进不了任何 shell 啊, 然后执行:netstat -nao | findstr 5037
结果是:TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
可见 3840 进程正在监听 5037 端口, 这个进程实际上就是 adb server
3. 打开 android 手机,执行 adb connect 192.168.1.100, 请参考我之前的博文, 确保 adb 能连接上手机哈。
发现, 界面提示 adb 成功连接上了手机。
执行 netstat -nao | findstr 5037, 居然仍然是:TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
执行 adb shell, 进入手机的 android 系统, 再次在 pc 的 cmd 中(非前面的 shell 中)执行 netstat -nao | findstr 5037, 结果为:
TCP 127.0.0.1:1571 127.0.0.1:5037 ESTABLISHED 4496
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3840
TCP 127.0.0.1:5037 127.0.0.1:1571 ESTABLISHED 3840
表明,adb client 和 adb server 建立 tcp 连接了。
4. 不需要退出上面的 shell, 仅在另一个 cmd 中执行 netstat -nao | findstr 5555, 结果为:
TCP 192.168.1.102:1559 192.168.1.100:5555 ESTABLISHED 3840
表明, adb server 和 adbd 建立起了 tcp 连接。
5. 前面已经进入了手机的 shell, 现在在 shell 中执行:netstat -nao | busybox grep 5555, 结果为:
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.100:5555 192.168.1.102:1559 ESTABLISHED
进一步证实, adb server 和 adbd 建立起了 tcp 连接。
归纳:
adb client (pid:4496) <--->adb server (监听 5037 端口, pid:3840)<--->adbd (监听 5555 端口,pid: 未显示)
|<------------------------------- 在 pc 端 ------------------------------> | |<------------ 在手机端 ------------>|
其中, adb server 作为 adb client 的服务端, 而 adbd 又作为 adb server 的服务端, 实际上就是下面这个意思:
儿子 <------------------------------> 爸爸 <-------------------------------------> 爷爷
前面我们已经说过, 也可以利用数据线来进行连接, 这里, 我就不过多再赘述了, 原理大体类似, 为了让大家更清晰, 我借鉴了网上的一幅图, 这幅图很强大, 真是太棒了:
一图胜千言万语
突然, 我想起了小时候, 一个老人给我出的题: 两个爸爸和两个儿子, 要均分 3 个同样的苹果, 不允许切割, 请问怎么分
---------------------
作者:stpeace
来源:CSDN
原文:https://blog.csdn.net/stpeace/article/details/24933813
版权声明:本文为博主原创文章,转载请附上博文链接!
ADB enhanced Putty (replacement for "adb shell")
We all know that running "adb shell" from the command line is pretty crap, and when using a latter busybox version which has coloring support it''s ultimately crap. One workaround was usually to start a telnet server on the phone, and use putty to connect to that telnet server. Actually there is a more easier way to do that which also works for non rooted phones.
Actually the Android Debug Bridge has a terminal connection feature (roughly speaking), which will be enabled after you connect to the adb server in "0006shell:" mode. You can actually use the putty to connect to this interface always, by setting the following things:
- Turn off line discipline in settings(Terminal--Local echo:Force off Local line-editing:Force off)
- Use RAW mode to connect to localhost:5037
- Enter "0012host:transport-usb" (use mouse right button)
- Enter "0006shell:" (use mouse right button)
PS.Don''t put anykey with keyboard
Now you''ve got a full fledged connection to your device. The main drawback is that it''s tedious to repeat the above all the time, so I''ve made some modifications to the putty binary that adds a new type of connection, called "Adb"
To use the enhanced putty:
- Select Adb from the connection type list
- Enter "transport-usb" in the host (or any other connection string, check the adb socket interface documentation if you need something else than connecting via usb)
- Enter 5037 as port, if it''s not already set there.
- Connect and enjoy (you might also save this connection, so next time you only have to double-click on the settings)
DL and source: http://github.com/sztupy/adbputty/downloads
Screenshot:
http://www.busybox.net/products.html
adb install 安装apk adb install 安装的apk在哪个路径
adb install 命令将 apk 安装在 "/data/app" 目录中,每个应用程序都存储在其自己的子目录中,该子目录的名称与应用程序的包名相同。例如,com.example.myapp 的 apk 将存储在 "/data/app/com.example.myapp" 中。
adb install apk 后apk 的安装路径
adb install 命令用于通过 USB 连接将 APK 安装到 Android 设备上。安装的 APK 通常会保存在以下路径:
/data/app
此目录包含设备上安装的所有应用程序的 APK 文件和其他相关数据。每个应用程序都存储在其自己的子目录中,该子目录的名称与应用程序的包名相同。
详细说明:
- 安装过程: adb install 命令通过 Android 调试桥 (ADB) 向设备发送 APK 文件。一旦设备收到文件,它会将其放置在 "/data/local/tmp" 目录中。
-
APK 分区: 然后,Android 系统会将 APK 文件移动到 "/data/app" 目录。此目录被分区为几个分区,每个分区对应一个应用程序类别:
- /data/app:包含来自未知来源的应用程序
- /data/app-private:包含来自 Play 商店下载的应用程序
- /data/app-system:包含系统应用程序
- 子目录: 在 "/data/app" 目录中,每个应用程序都存储在其自己的子目录中。子目录的名称与应用程序的包名相同。例如,com.example.myApp 的 APK 将存储在 "/data/app/com.example.myApp" 中。
- 数据目录: 除了 APK 文件外,每个应用程序还具有一个数据目录,其中包含该应用程序的设置、文件和其他数据。此数据目录位于 "/data/data" 中,其名称与应用程序的包名相同。例如,com.example.myApp 的数据目录将位于 "/data/data/com.example.myApp" 中。
了解安装的 APK 的路径对于调试和故障排除应用程序问题非常有用。它还可以帮助您找到特定应用程序的数据目录,以便备份或进行其他操作。
以上就是adb install 安装apk adb install 安装的apk在哪个路径的详细内容,更多请关注php中文网其它相关文章!
关于Ubuntu 下 ADB 调试 Android 找不到设备的解决方法和ubuntu adb devices 找不到设备的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ADB - 无法创建调试桥:无法启动 adb 服务器、adb client, adb server, adbd 原理浅析(附带我的操作过程)、ADB enhanced Putty (replacement for "adb shell")、adb install 安装apk adb install 安装的apk在哪个路径等相关内容,可以在本站寻找。
本文标签: