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的问题依然还是无解中,不知到那位可以告诉原因?
相关推荐
adb shell cd system/app rm *.apk21. 获取管理员权限: adb root22. 启动Activity: adb shell am start -n 包名/包名+类名。