ADB调试USB设备指南

      Android设备的USB功能,是现有产品中一个必要组成部分,但常用的ADB调试,需要运行在USB模式下,导致USB被占用,无法挂载USB外设,所以采用WIFI模式来进行ADB调试可以更加方便和直观。

  • 环境准备
  1. Android Studio开发环境;
  2. Android设备具备无线功能;
  3. 开发环境与Android设备处于同一无线局域网下;
  4. Android系统的源码(签名时需获取系统秘钥文件)
  • ADB的WIFI模式
  1. Android Studio安装ADB WIFI插件,IDE支持多款ADB WIFI插件,根据个人习惯选择即可,如下图:

 

  1. 开启ADB WIFI调试模式:
  1. 开发环境通过USB连接到Android设备,并开启Android设备的USB调试模式;
  2. 开发环境中,运行ADB命令,重启ADB TCP端口(默认为5555),并建立TCP连接(如果不使用缺省端口,在IP后设置,形式为“:5600”),具体命令如下:
    • “adb tcpip 5555”
    • ”adb connect 192.168.1.2 ”
  3. Android设备重启后,需要“adb disconnect”再重连;
  4. 连接后,通过“adb devices”命令查看新连接设备是否存在,以确认ADB WIFI方式可用;
  5. 断开USB调试,空出USB接口以备挂载外设,具体操作如下:
    1. 关闭Android设备的USB调试模式;
    2. 开发环境通过其它方式连接Android设备,如串口方式;
    3. 从终端重启Android设备的ADBD服务,即执行命令“adbd &”
    4. 断开USB连接,空出USB接口,以挂载U盘等设备;

    *个人建议Android Studio的WIFI插件使用“Android wifi ADB”,在调试连接中较为稳定。

  • APP系统签名

      使用IDE调试APP的USB功能时,需要获取应用的system权限,否则文件夹的访问等功能将受限制,常用的方法是给APP进行系统签名。

  1. 获取系统秘钥文件,源码路径/build/target/product/security/下的platform.x509.pemplatform.pk8两个文件,不同系统环境,秘钥是不同的,所以要对应获取;

获取手动签名工具keytool-importkeypair,下载路径为https://github.com/getfatday/keytool-importkeypair

  1. 将platform.x509.pem和platform.pk8放入keytool-importkeypair目录下;
  2. 使用Android Studio生成签名文件(.jks),如下:

 

  1. 设置签名信息,可根据实际情况随意填写;
  2. 将生成的 .jks文件同样放入keytool-importkeypair目录下,重新进行手动签名设置;
  3. 重新手动签名,KeyTool为Linux工具,需要在Linux环境使用,如在Windows下,可使用MinGW来执行,进入keytool-importkeypair目录下,执行命令如下:

 

“./keytool-importkeypair -k SignDemo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias Demo”

注* SignDemo.jks : 签名文件,123456 : 签名文件密码,platform.pk8、platform.x509.pem : 系统签名文件,Demo: 签名文件别名。

  1. 将重新签名的 .jks文件移回原工程环境下,就可以使用自己的签名了;
  2. 当重新生成apk或ADB调试时,还需要在代码中添加system权限声明和编译签名注释,具体如下:
  3. 在APP的AndroidManifest.xml中添加申请system权限的声明”android:sharedUserId="android.uid.system”
  4. 在build.gradle文件的android项下添加编译签名注释,例如: 

  5. 编译新的apk后,重新安装,如之前已安装过此apk,需要先卸载旧版本,否则依然会存在安装失败的情况;
  6. 检查生成的apk是否已经签名,命令“jarsigner -verify MediaPlayer.apk”
  7. 检查安装的app是否已经获取system权限;

完成以上操作后,就可以使用无线方式调试USB外设了,以上描述如有错误之处,还请指正。

 

发布了2 篇原创文章 · 获赞 3 · 访问量 85

猜你喜欢

转载自blog.csdn.net/kaiwei1981/article/details/104677726
今日推荐