adb问题汇总

adbshellps|grep"music|camera"查看进程ID

adblogcat-vthreadtime|grepPID显示指定进程的Log

adbshell无法识别设备问题排查:

1.手机setting是否开启了USB调试模式;

2.adbkill-server;adbstart-server;

3.设置usb权限

因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要

sudo支持。

$lsusb查看USB端口设备状态

Bus001Device010:ID0bb4:0c87HighTechComputerCorp.

Bus001Device001:ID1d6b:0002LinuxFoundation2.0roothub

列表中,Bus001Device010:ID0bb4:0c87HighTechComputerCorp.这一

行为htc手机的usb使用端口,记录一下,id为0bb4(基于上所有的htc都是这个

ID)。

$sudovim/etc/udev/rules.d/70-android.rules

加入以下内容:

SUBSYSTEM=="usb",ATTRS{idVendor}=="0bb4",

ATTRS{idProduct}=="0c87",MODE="0666"

其中的idvendoridProduct指的是USB的ID可以使用lsusb查询得到。

比如我的是:

lsusb

Bus001Device010:ID0bb4:0c87HighTechComputerCorp

ID0bb4就是idVendor,0c87就是idProduct

运行命令,重启udev:

$sudochmoda+rx/etc/udev/rules.d/70-android.rules

$sudoserviceudevrestart

4.查看用户根目录下的.android/adb_usb.ini是否有驱动地址

5.adb环境变量是否设置

=========================================================================

adbinstall-rSecMms.apk

adbunstall

当安装时,使用adbinstallXXX.apk

当希望保留程式的一些资料,使用覆盖安装,adb-rinstallXXX.apk

当卸载是,使用adbuninstallcom.XXX.XXX.apk(注意,要使用包名)

问题一:

当使用覆盖安装时出现下面的错误:Failure[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

原因是由于apk的签名有误,和之前pad中已经存在的程式签名不同,解决方法就是无法进行覆盖安装,

要先将已有程式卸载,再重新进行安装。这样一些程式原有配置等资料会不见,要做好备份。

问题二:

卸载原有程式后,执行安装语句时出现下面错误:Failure[INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]

原因是由于之前程式可能为一个群组,共用同一个userid,新程式于原有程式冲突

检查是否卸载干净,保证全部都卸载后,再重新进行安装。

问题三:

在进行数据备份时,使用

adbpull/data/data/XXXX/XXX.db./user/temp

或者使用

adbpush./user/temp/XXX.db/data/data/XXXX

会出现权限不足的问题。pad也是已经进行了破解

(使用的也是lenove的pad,在使用adbshell时就和一般破解过的不一样

进入shell以后,不是直接拿到root权限,而是su之后才能有root权限,

退出时,如果当前权限是root执行exit之后先回到一般权限,再执行一次exit才退出shell)

难道是因为破解不完全的问题吗?还是因为需要pad端作一些权限的设定??

另外,我其他破解过的pad都可以成功执行上面的语句。

也已经试过chmod777/data/data/XXXX,更改文件夹的权限,可是仍然没有办法pull或push。

因为有时间紧迫,无奈之下,决定先将文件备份到/sdcard中。

在使用cp是发现,没有办法直接使用cp,原来需要用busybox进行拷贝

进入adbshell中,执行busyboxcp/data/data/XXXX/XXX.db/sdcard/tmp/XXX.db

这才搞定。不过上面无法pull或push的问题依然还是无解中,不知到那位可以告诉原因?

相关推荐