-
-
[原创]修改adb源码,支持中文以及特殊字符
-
发表于:
2013-10-12 13:23
17650
-
标 题: 【原创】修改adb源码,支持中文以及特殊字符
作 者: 蟑螂一号
时 间: 2013-10-12,13:44:03
目前第三方手机检测软件越来越多,例如91手机助手、豌豆荚、360手机助手等等。手机助手软件连接到手机设备,adb程序必不可少。目前,第三方手机检测软件都内置了自定义的adb程序。
在windows平台上,adb命令中如果含义中文字符或者特殊字符时,执行会出错。网上的解决方法一般都是修改cmd界面的编码,但是很多时候尝试都失败。
我在工作中也遇到adb遇到中文以及特殊字符无法执行的情况。比如adb安装apk,如果安装路径中有中文路径字符或者apk名字含义中文等,那么安装会提示找不到文件。当然,这个问题好解决,在程序中通过代码处理,把路径或者apk名称换为英文即可解决。但在下面这种需求情况,那就难以解决。
手机第三方检测一般都会获取sdcard存储的apk文件,获取存储卡apk文件有两种途径。1.安装客户端到手机,然后扫描sdcard中的apk然后通过socket传输到pc端。2.直接通过adb pull命令提取。使用adb pull命令提取,只需要apk在sdcard中的路径即可。但使用adb pull不得不面对apk路径或者apk名称存在中文或者特殊字符,例如括号、空格等。在此情况下,使用adb pull是无法提取apk出来。
经过研究,并在项目中验证通过的解决方法:
1.adb pull命令中的参数使用base64编码。
2.修改adb源码,在pull处理函数参数中对传入的参数base 64解码。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课