局域网连接设备
adb connect ip:5555 端口号带不带都行
查看连接设备
adb devices 端口号带不带都行
查看已安装应用
adb shell pm list packages
安装应用
adb shell am start 包名/.MainActivity
向设备推送文件
adb push a.png /sdcard/test/a.png
下载文件
adb pull /sdcard/q/logfile D:\log
保存日志相关
//调节日志缓存大小
adb logcat -G 50M
//设置tag和日志等级2
adb shell setprop debug.facepass.log.level 2
//保存日志到文件
adb logcat -v time > D:\logv.txt
//
adb logcat -s YourTag:YourLogLevel > log.txt
截屏保存到电脑
//高版本Android
adb exec-out screencap -p > 1.png
//低版本常规办法
//先截图放在手机的sdcard里,然后pull到电脑端
adb shell screencap /sdcard/1.png
adb pull /sdcard/1.png D:\2.png
查看设备安装的所有包名
adb shell 进入shell
输入 pm list packages 显示所有应用包名
adb导出db文件(有的root过的设备无法在IDE访问内部文件)
adb shell
run-as cn.cox.wvti.attendance //后面是包名
cd databases/
ls //查看ab文件
cat _main_data.db>/sdcard/a.db //导出db文件
adb 查看设备屏幕分辨率
adb -s 172.15.6.0:5555 shell wm size
adb查看系统分配的内存信息
#最大内存 largeHeap="true"的情况下
adb shell getprop dalvik.vm.heapsize
#初始内存大小
adb shell getprop dalvik.vm.heapstartsize
#单个进程内存限定
adb shell getprop dalvik.vm.heapgrowthlimit
代码保存adb日志
public void saveLogToFile(Context context, String logContent) {
try {
//logFile 自己定义目录
FileOutputStream fos = new FileOutputStream(logFile, true);
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((logContent = reader.readLine()) != null) {
fos.write((logContent + "\n").getBytes());
}
fos.flush();
} catch (IOException e) {
Log.e(TAG, "Failed to write log file", e);
}
}