linux体系 怎样 查ip地点 (linux体系 中怎样 查ip地点 )〔linux系统如何查ip地址〕

(点击上方公众号 ,可快速关注)

  泉源 :伯乐在线专栏作者 - 踏歌行

  链接:https://android.jobbole.com/84804/

  点击 → 相识 怎样 参加 专栏作者

  Android 开辟 中, adb 是开辟 者常常 利用 的工具,是 Android 开辟 者必须把握 的。

  Android Debug Bridge,Android 调试桥接器 ,简称 adb ,该工具位于 sdk/platform-tools/ 目次 下,其源码位于 path-to-sourcecode/system/core/adb 目次 下 ,是用于管理模仿 器或真机状态的全能 工具 。 adb 采取 了客户端-服务器模子 ,包罗 三个部分 :

客户端部分 ,运行在开辟 用的电脑上 ,可以在下令 行中运行adb下令 来调用该客户端,像 DDMS 如许 的 Android 工具也可以调用 adb 客户端。

保卫 进程 部分 ,运行于模仿 器或手机的背景 。

服务端部分 ,是运行在开辟 用电脑上的背景 进程 ,用于管理客户端与运行在模仿 器或真机的保卫 进程 通讯 。

  adb 工具模子 表示 图如下:

  adb 的工作原理

  当启动 adb 客户端时,客户端起首 查抄 adb 服务端进程 是否运行 ,假如 没有运行,则启动服务端 。当服务端启动时,它会绑定到本地 的 TCP5037 端口,而且 监服从 adb 客户端发来的下令 ——全部 adb 客户端都利用 5037 端口与 adb 服务端通讯 。

  接下来服务端与全部 正在运行的模仿 器或手机毗连 。它通过扫描 5555-5585 之间的奇数号端口来搜刮 模仿 器或手机 ,一旦发现 adb 保卫 进程 ,就通过此端口举行 毗连 。必要 阐明 的是,每一个模仿 器或手机利用 一对有序的端口 ,偶数号端口用于控制台毗连 ,奇数号端口用于 adb 毗连 ,比方 :

  Emulator1,console: 5554

  Emulator1,adb: 5555

  Emulator2,console: 5556

  Emulator2,adb: 5557

  即假如 模仿 器与 adb 在 5555 端口毗连 ,则其与控制台的毗连 就是 5554 端口。

  当服务端与全部 的模仿 器创建 毗连 之后,就可以利用 adb 下令 来控制大概 访问了。由于 服务端管理着毗连 而且 可以吸取 到从多个 adb 客户端的下令 ,以是 可以从任何一个客户端或脚原来 控制任何模仿 器或手机装备 。

  增补 :

  1. 利用 adb 下令 调试必要 手机开启 开辟 者模式 下的 USB 调试 ,在 Android 4.2 及更高的版本中,开辟 者选项默认是隐蔽 的,你可以去 设置——关于手机 ,然后连续 点击七次版本号即可。返回上层就可以在底部望见 开辟 者模式 了。固然 有些定制的 ROM 开启方式会有点不一样,这个就要去问 ROM 的开辟 者了 。

  2. 关于 USB 调试与盘算 机的 RSA 密钥指纹配对。Google 官方原文如下:

  When you connect a device running Android 4.2.2 or higher to your computer, the system shows a dialog asking whether to accept an RSA key that allows debugging through this computer. This security mechanism protects user devices because it ensures that USB debugging and other adb commands cannot be executed unless you’re able to unlock the device and acknowledge the dialog. This requires that you have adb version 1.0.31 (available with SDK Platform-tools r16.0.1 and higher) in order to debug on a device running Android 4.2.2 or higher.

  大意就是,你想利用 USB调试 就得启用 USB调试 模式下的 RSA密钥指纹。否则 我就不给你用 。

  3. 关于利用 真机调试的更多信息可参考:Run Apps on a Hardware Device。

  adb 用法

  查询模仿 器或手机状态

  相识 adb 服务端毗连 的模仿 器或手机可以资助 更好的利用 adb 下令 ,这可以通过 devices 下令 来罗列 当前毗连 的装备 :

  adb devices

  实行 结果 是 adb 为每一个装备 输出以下状态信息:

  序列号(serialNumber):由 adb 创建用于唯一标识装备 的字符串 ,格式是 装备 范例 -端标语 ,比方 : emulator-5554

  毗连 状态(state),其值是大概 是下面的恣意 一种:

  offline — 未毗连 或未相应

  device — 表现 装备 已经毗连 到服务端。但必要 留意 的是 ,这个状态并不表现 Android 体系 已经完全启动起来而且 可操纵 ,由于 体系 在启动的过程中就已经毗连 adb ,但这个状态是正常的可操纵 状态。

  no device – 表现 没有任何装备 毗连 (楼主测试过程中没有碰到 过 no device 的环境 ,没毗连 装备 就没任何输出)

  每一个装备 的输出形如:

  [serialNumber][state]

linux系统如何查ip地址(linux系统中如何查ip地址) linux体系
怎样
查ip地点
(linux体系
中怎样
查ip地点
)〔linux系统如何查ip地址〕 新闻资讯

  下面是 adb devices 下令 和其实行 结果 :

  $adb devices

  List of devices attached

  emulator-5554device

  emulator-5556device

  emulator-5558device

  假如 没有模仿 器或手机在运行,运行 adb devices 下令 的实行 结果 如下:

  $adb devces

  List of devices attached

  操纵 指定模仿 器或手机

  假如 有多个模仿 器或手机正在运行,当利用 adb 下令 的时间 就必要 指定目标 装备 ,这可以通过利用 -s 选项参数实现,用法如下:

  adb-sserialNumber command

  你可以利用 adb 下令 指定序列号在特定的装备 上实行 下令 ,这里可以先利用 前面提到的 adb devices 下令 查询装备 的序列号信息 。

  比方 :

  adb-semulator-5556install helloWorld.apk

  必要 留意 的是 ,假如 利用 了 -s 而没有指定装备 的话, adb 会报错。

  增补 :

  这是 Google 官方给出在多装备 的环境 下,不消 -s 参数指定目标 装备 的快捷方式,原文如下:

  If you have multiple devices available (hardware or emulated), but only one is an emulator, simply use the -e option to send commands to the emulator. Likewise if there’s multiple devices but only one hardware device attached, use the -d option to send commands to the hardware device.

  大意就是:假如 你有多个装备 ,即既有模仿 器,又有真机,但是模仿 器只有一个 ,那么你可以利用 -e 参数想模仿 器发送下令 ,用法如下:

  $adb-einstall helloWorld.apk

  //同理,假如 有多个装备 ,但只有一个真机,可以利用 如下下令 快速发送下令

  $adb-dinstall helloWorld.apk

  安装应用

  利用 adb install 下令 可以从开辟 用电脑中复制应用程序而且 安装到模仿 器或手机上,adb install 下令 必须指定待安装的.apk文件的路径:

  adb install[-lrtsdg]path_to_apk

  (-l: 锁定该程序)

  (-r: 重新安装该程序 ,保存 应用数据)

  (-t: allow test packages)

  (-s: 将应用安装到SD卡,不外 如今 手机好像 都没有SD卡了吧)

  (-d: 答应 降版本号安装,固然 只有debug包才华 利用 )

  (-g: 安装完默认授予全部 运行时权限 ,这个应该对Android6.0及之后的版本才有效 吧)

  更多关于创建 apk 文件可参考:Build And Running

  卸载应用

  既然有安装应用的下令 ,那固然 有卸载应用的下令 。卸载应用下令 的格式如下:

  //package 表现 要卸载应用的包名

  adb uninstall[-k]package

  (-k:不删除程序运行所产生的数据和缓存目次 )

  端口转发

  利用 adb forward 下令 转发端口 — 将特定端口上的哀求 转发到模仿 器或手机的差别 的端口上 。下例是从 6100端口 转到 7100端口 :

  adb forward tcp:6100tcp:7100

  也可以利用 UNIX定名 的socket标识:

  adb forward tcp:6100local:logd

  增补 :关于 adb forward 下令 的作用不是很明白 ,网上搜了下,大部分 文章都是转载了 浅析 adb 下令 – adb forward ,不知道这是不是原文,反正看不得不是很明白 。有哪位大神能跟我讲讲嘛?

  与模仿 器或手机传输文件

  利用 adb 下令 pull 和 push 能从 Android 装备 拷贝或复制文件到 Android 装备 。跟 install 下令 差别 ,pull 和 push 下令 答应 拷贝和复制文件到任何位置 。

  从模仿 器或手机拷贝文件或文件夹(包罗 文件夹的子目次 )

  adb pull[-a]remote_path local_path

  (-a:保存 文件时间戳及属性)

  将文件或文件夹(包罗 文件夹的子目次 )拷贝到模仿 器或手机

  adb pushlocal_path remote_path

  比如 ,我想把桌面的 log.txt 复制得手 机的 dev 目次 下,则下令 如下:

  $adb push/Users/littlejie/Desktop/log.txt/dev

  偶然 间 ,利用 该下令 复制文件得手 机或从手机复制文件 ,会碰到 如下提示:

  failed tocopy'log.txt'to'/dev/log.txt': Permission denied

  备注:Permission denied 这个题目 从前 在利用 Windows 体系 的时间 碰到 过,如今 转 Mac 后就没有再碰到 ,岂非 是我打开方式不对嘛?再增补 一点 , Mac 上我运行 adb root 下令 真的有点一头雾水,由于 竟然提示:

  $adb root

  adbd isalready running asroot

  这是由于 当前用户没有相应的权限大概 是 /dev 目次 不可写。办理 方法如下:

  //方法一

  //已 root 权限启动 adb 服务

  $adb root

  //adb remount (重新挂载体系 分区,使体系 分区重新可写)

  $adb remount

  //将文件复制到 /dev 目次 下

  $adb push/Users/littlejie/Desktop/log.txt/dev

  //方法二:修改文件的读写权限

  $adb shell

  # su

  # chmod 777 /dev

  关于 Linux 下文件权限的更多内容请参考:linux体系 644 、755、777权限详解

  adb shell

  这里简单 讲一下 adb shell 的利用 ,由于 adb shell 的用法太多,功能太强,完全可以专门分出一篇文章来记录 ~不出不测 ,下周应该能写完~有爱好 的同砚 可以本身 先去看 Google 的官方文档:ADB Shell Commands

  adb shell 有两种利用 方式 ,一种是不进入 remote shell 直接实行 下令 行,格式如下:

  adb[-d|-e|-sserialNumber]shellshell_command

  尚有 一种是,进入模仿 器或手机的 remote shell 实行 ,格式如下:

  adb[-d|-e|-sserialNumber]shell

  开启或关闭 adb 服务

  在某些环境 下必要 重启 adb 服务来办理 题目 ,比如 adb 无相应 。这时你可以通过 adb kill-server 来实现这一操纵 。

  之后,通过 adb start-server 大概 恣意 adb 下令 来重启 adb 服务。

  $adb kill-server

  $adb start-server

  *daemon notrunning.starting it now on port5037*

  * daemon started successfully *

  $adb kill-server

  $adb devices

  List of devices attached

  *daemon notrunning.starting it now on port5037*

  * daemon started successfully *

  emulator-5556device

  emulator-5554device

  无线调试

  平常 我们都是利用 USB调试 ,但是如今 也支持通过 WIFI 举行 调试了。利用 方式如下:

起首 ,你要将 Android 装备 和 装有 adb 的电脑毗连 到同一 Wi-Fi 网络 。其次,你必要 设置 好防火墙 ,否则很有大概 导致 Wi-Fi 调试不能利用 。

利用 USB数据线 将手机毗连 到电脑。

设置目标 装备 监听 5555端口 的 TCP/IP 毗连 。

  $adb tcpip5555

断开手机与电脑的 USB 毗连 。

linux系统如何查ip地址(linux系统中如何查ip地址) linux体系
怎样
查ip地点
(linux体系
中怎样
查ip地点
)〔linux系统如何查ip地址〕 新闻资讯

查察 手机的 IP地点 。比方 ,在 Nexus 装备 上,你可以通过如下方式查察 : 设置——关于手机——状态——IP地点 。在 Androir Wear 上 ,你可以通过如下方式查察 :设置——Wi-Fi设置——高级——IP地点

通过 IP 毗连 办 机

  adb connectdevice_ip_address

确认手机是否毗连 到电脑上

  $adb devices

  List of devices attached

  device-ip-address:5555device

  通过以上步调 ,就可以开心的享用 WiFi 调试了 。假如 没有正常毗连 ,可以按照下面的步调 查抄 :

  1. 查抄 电脑和手机是否还在同一个 WiFi 网络下

  2. 重新实行 一次 adb connect device_ip_address 下令

  3. 重启 adb 服务,然后重头再来

  4. 查抄 是否是防火墙的设置题目

  这是一篇关于 Android 装备 USB调试 和 WiFi调试 相互切换 的博文 ,博主写了一个脚原来 实现这个过程,有爱好 的同砚 可以去看看。

  增补

获取装备 序列号

  $adb shell

  emulator-5554

查察 bugreport 陈诉

  //直接在终端输出

  $adb bugreport

  //将 bugreport 输出到指定文件

  $adb bugreport file_path

  adb bugreport 这个下令 非常简单 ,但是在实际 应用中非常有效 ,它会输出从开机之后具体 的 dumpsys 、 dumpstate 和 logcat 信息,是一份完备 的日记 记录 。对分析用户举动 、非常 信息 、体系 状态有很大的参考作用 。一样平常 我们会把 bugreport 导出到电脑上分析。

  bugreport 的具体 利用 可以参考 Baniel01 的这篇 Android adb bugreport工具分析和利用 文章,内里 有很具体 的先容 。

查察 装备 的 log

  $adb logcat

查察 adb 的资助

  这个下令 很简单 ,但是也很实用,假如 你不知道该利用 哪个下令 ,那么利用 adb 资助 下令 你能查察 到大部分 adb 下令 的作用和利用 方法 。

  $adb help

重启手机

  偶然 间 ,手动关机太贫苦 ,那就来个下令 行吧~

  adb reboot

以 root 权限开启 adb 保卫 进程

  //此下令 会重启保卫 进程

  $adb root

  //不以 root 权限开启 adb 保卫 进程

  $adb unroot

  总结

  以上就是 adb 下令 的常见用法,大部分 翻译自 Android Debug Bridge ,此中 加了一些个人总结。有些不常用的 adb 下令 没有先容 ,更多 adb 用法请见:Adb Command Summary。文中如有马虎 ,欢迎 各人 留言指出 。

  参考:

  1. Android Debug Bridge

  2. 浅析 adb 下令 – adb forward

  3. Android_ADB_通过WIFI或USB方式完成调试

  4. Android adb bugreport工具分析和利用

  专栏作者简介( 点击 → 参加 专栏作者)

  踏歌行 :盼望 有一天我可以或许 很坦然地说:\"让我来告诉你,在我眼中 ,这是一个怎样的天下 。\"

打赏支持作者写出更多好文章,谢谢!

关注「安卓开辟 精选」

看更多精选安卓技能 文章

  ↓↓↓