ADB调试USB设备指南

news/2024/12/22 11:31:08/

      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外设了,以上描述如有错误之处,还请指正。

 


http://www.ppmy.cn/news/815610.html

相关文章

Android 启用USB调试

开发好的Android程序为了获得更真实的运行效果可以直接在手机上面调试。 首先将手机用usb线连接到电脑,设置 → 系统 → 开发者选项 → USB调试 ,打开后面的开关,见下图: 如果是首次连接手机调试会弹出下面的提示框,勾…

万能usb调试开启方法

问题 很多时候不知道在哪里打开或者忘记了怎么打开,找了半天没找到。有没有一个简单的万能的开启方案? 解决 腾讯应用宝就是万能的usb调试开启方法。 1、安装应用宝电脑版,用数据线连接手机; 2、点击连接手机,点击扫码连接&a…

系统打开USB调试模式方法

2.1 ~ 2.3.7系统打开USB调试模式方法 • 点击手机 Menu键(菜单键),在弹出的菜单中选择 设置(Setting), 或在应用程序中找到设置 程序点击进入 • 进入设置界面的 应用程序 即可打开 USB调试模式 • 打开USB调模式后即可连接刷机精灵一键刷机,刷机精灵下…

android 系统打开USB调试模式

在android系统开发中,经常需要将Android系统设备与电脑相连,使用adb进行调试 方法: 连续点击“关于手机”里的版本号, 返回"设置"就会看到“开发者选项”(某些设备在设置里就存在开发者选项),打…

默认打开USB调试功能

如何默认打开user 版本的USB debug 选项, 默认打开adb 连接 user usb debug root adb 连接 【方法】 1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设置会根据system property 的persist.service.adb.ena…

USB调试

可通过命令 rootTinaLinux:/# cat sys/devices/platform/soc/usbc0/otg_role usb_device 确认当前usb处于什么模式 手动切换成HOST模式: cat /sys/devices/platform/soc/usbc0/usb_host 手动切换成Device模式: cat /sys/devices/platform/soc/usbc0/usb_…

【视觉SLAM入门】4. 从状态估计到非线性最小二乘推演------状态估计,最大后验,最大似然,最小二乘,高维高斯分布,非线性优化推导

"国君含诟" 0. 引入1. 状态估计2. 具体求解状态估计>最小二乘引出 注意: 本节及下一节,我们将会围绕该问题展开---- 噪声中恢复数据进行视觉 S L A M \color {red}噪声中恢复数据进行视觉SLAM 噪声中恢复数据进行视觉SLAM 0. 引入 \;\;\; …

计算机无法识别佳能5d2,计算机无法识别所有的Usb设备

在手工删除量产工具添加的驱动mpfilt.sys,并在注册表中删除对于该文件的引用后,重新启动计算机,结果无法识别所有的usb设备,usb鼠标都不亮,无法使用,在设备管理器里面,所有的Intel(R) ICH9 Fami…