今天整理手机内存,华为荣耀7i, 16G+sd扩展, 已经升级到了android版本6.0.1, 放入sdcard之后,软件安装还有很多在手机内存中,16G的机身内存,已经不够用了,于是决定将软件搬家到sd卡中, 搜了半天手机管家助手之类的,终于在google play 下载了个 app2sd 软件(评分最高,下载量最高的),结果有个软件搬家功能, 点了却提示:您的手机不支持此功能!! 我凑,没办法了, 只能把那些大软件,手动卸载重装吧.

先在电脑上下载好了手机上的软件, 然后卸载手机软件, 打开电脑cmd 命令行, 

安装命令: adb install -s 文件在电脑的路径(多设备命令见下方总结).

别的软件基本都没问题,包括微信, 支付宝等等,但是!!! 到QQ这里就出坑了, 提示错误:  to '/sdcard/tmp/': Is a directory, 我擦,估计是把apk拷贝到手机中的时候,将apk文件拷贝成了文件夹, 形成原因没找到, 不过既然是拷贝过程中报错, 那我就换一种安装方式,我把apk先拷贝进手机中, 然后调用安装命令,装到sk卡中, 当然过程也撞了点坑, 不是直接调用adb install, 而是使用android提供的packagemanager,  进行安装, 最后成功,安装命令如下: 

先将apk文件放到手机: adb push 路径\QQ.apk sdcard/QQ.apk

然后安装apk : adb shell pm install -s /sdcard/QQ.apk

如果你同时包含多台设备,及提升问题:

error: more than one device/emulator
adb: error: connect failed: more than one device/emulator
- waiting for device -
error: more than one device/emulator

可以选择指定哪个设备,去安装操作,

查询都有什么设备: adb devices

选择你要安装的设备号,复制设备号,

然后指定设备安装:  adb -s 你的手机设备号 shell pm install -s /sdcard/QQ.apk


一些其他的 pm 命令:



pm [list|path|install|uninstall]  
 
pm list packages [-f] [-d] [-e] [-u] [FILTER]  
 
pm list permission-groups  
 
pm list permissions [-g] [-f] [-d] [-u] [GROUP]  
 
pm list instrumentation [-f] [TARGET-PACKAGE]  
 
pm list features  
 
pm list libraries  
 
pm path PACKAGE  
 
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH  
 
pm uninstall [-k] PACKAGE  
 
pm clear PACKAGE  
 
pm enable PACKAGE_OR_COMPONENT  
 
pm disable PACKAGE_OR_COMPONENT  
 
pm setInstallLocation [0/auto] [1/internal] [2/external]


....其他....



总结的一些其他 ADB 命令: 


adb命令:


查看端口被谁占用: 


打印log至当前时间: adb bugreport > main.log


     切换至Linux环境下 : adb shell


或 : adb -s 设备号 shell


例如:shell后 : cat /proc/cpuinfo -->查看cpu信息


: ls -l -->查看根目录下的所有文件


: rm *.txt -->删除该目录下所有的txt


: logcat -->查看log,eclipse有问题,查看用


: df /sdcard -->查看sdcard空间情况:总,用,余,


:cd /data/data/包名pre*


ls -l -->这两步为预览列表,都有什么文件,权限.


: chmod 777 ./文件.扩展名 -->当前目录下,修改文件权限(7为满权限).


: sqlite3 (手机的)数据库表名 -->打开数据库,


然后 通过 .命令 操作,或者输入sql语句, 用 ; 结束.


例如 .table -->查询都有什么表


.mode html -->以xml的形式,显示表字段


select * from 表名 ;


查看设备cpu和内存占用情况: adb shell top


查看进程列表: adb shell ps


查看wifi密码: adb shell cat /data/misc/wifi/ *.conf


查看adb帮助: adb help


获取设备名称: adb shell cat / system /build.prop


获取序列号: adb get -serialno


查看连接计算机的设备: adb devices


重启: adb reboot


重启到bootloader,即刷机模式: adb reboot bootloader


重启到recovery,即恢复模式: adb reboot recovery


查看log: adb logcat


终止adb服务进程: adb kill - server -->kill与server之间无空格


重启adb服务进程: adb start - server


获取机器MAC地址: adb shell cat /sys/ class / net / wlan0 / address


获取CPU序列号: adb shell cat /proc/cpuinfo


安装APK: adb install <apkfile> //比如:adb install baidu.apk


强制安装apk: adb -s 手机设备号 install -r -s 电脑路径.


保留数据和缓存文件,重新安装apk: adb install -r <apkfile> //比如:adb install -r baidu.apk


安装apk到sk卡: adb install -s <apkfile> // 比如:adb install -s baidu.apk


卸载apk: adb uninstall < package > //比如:adb uninstall com.baidu. search


卸载apk但保留数据和缓存文件: adb uninstall - k < package > //比如:adb uninstall - k com.baidu. search


启动应用: adb shell am start -n < package_name >/.< activity_class_name >


查看占用内存前6的app: adb shell top -m 6


刷新一次内存信息,然后返回: adb shell top -n 1


查询各进程内存使用情况: adb shell procrank


杀死一个进程: adb shell kill [pid]


查看指定进程状态: adb shell ps -x [PID]


查看后台service信息: adb shell service list


查看当前内存占用: adb shell cat /proc/meminfo


查看io内存分区: adb shell cat /proc/iomem


将system分区重新挂载为可读写分区: adb remount


从本地复制文件到设备: adb push < local > < remote >


从设备复制文件到本地: adb pull < remote > < local >


列出目录下的文件和文件夹,等同dos的dir命令: adb shell ls


进入文件夹,等同dos的cd命名: adb shell cd <folder>


重命名文件: adb shell rename path /oldfilename path /newfilename


删除system/avi.apk: adb shell rm / system /avi.apk


删除文件夹及其下面所有文件: adb shell rm -r < folder >


移动文件: adb shell mv path/file newpath/file


设置文件权限: adb shell chmod 777 / system /fonts/DroidSansFallback.ttf


查看文件内容: adb shell cat < file >


清楚log缓存: adb logcat -c


查看bug报告: adb bugreport


新建文件夹: adb shell mkdir path/foldelname


复制文件到模拟器:adb push xxxx.txt /sdcard/books/yyyy.txt(后者yyyy为中文,会乱码)


链接夜神模拟器: (安装目录下)nox_adb.exe connect 127.0.0.1:62001


查看手机cpu温度 : 先到shell下, cat /sys/class/thermal/thermal_zonex/temp -->不一定是 _zonex,可能是0-12某个.


查看连接设备: adb devices


电脑文件放到手机: adb -s 设备号 push (路径)xx /手机路径/xx


手机文件拷贝到电脑: adb -s 设备号 pull /手机路径/xx (电脑路径)xx


安装apk到手机: adb -s 设备号 install (电脑路径)xx


强制安装apk到手机: adb -s 设备号 install -r (电脑路径)xx -->即使已经存在了,也可以重新安装.


强制安装apk到手机: adb -s 设备号 install -r -f (电脑路径)xx -->安装到闪存(/data/data/) (软件搬家)


强制安装apk到手机: adb -s 设备号 install -r -s (电脑路径)xx -->安装到sd卡(/sdcard/) (软件搬家)


卸载手机apk : adb -s 设备号 uninstall 包名packagename


简单测试: 先进shell --> monkey 500 (在手机狂点500下) 百度云测 -->传言可选2000款手机测试.


monkey -p (包名)xxx 500 (在指定应用,狂点500下,不用打开此应用,会有崩溃日志)