adb工具即Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于电脑端与模拟器或者真实设备交互。
经常使用操做:java
adb devices 没有设备:可借助驱动精灵检查手机驱动,驱动安装好以后重启电脑。
adb devices unauthorized :解决办法:将手机设置->辅助功能->开发者模式->撤销usb调试受权,从新打开开发者模式android
adb devices
adb version
若是在电脑D盘下面有个a.apk文件,只须要一行命令就安装到手机上: adb install d:/a.apk 若是已经安装了这个程序,能够经过如下命令覆盖安装: adb install -r d:/a.apk 保留数据和缓存文件,从新安装 apk adb install -r a.apk 安装包在android设备中 adb shell pm install apk在移动端的路径
adb uninstall 包名 卸载软件可是保留配置和缓存文件: adb uninstall -k 包名
若是机器上有多个模拟器或真机,须要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、从新安装和卸载应用程序。shell
在emulator-5554模拟器上安装ebook.apk adb -s emulator-5554 install ebook.apk 在真机上安装ebook.apk adb -s HT9BYL904399 install ebook.apk 在emulator-5554模拟器上从新安装ebook.apk adb -s emulator-5554 install -r ebook.apk 在真机上从新安装ebook.apk adb -s HT9BYL904399 install -r ebook.apk 在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录) adb -s emulator-5554 uninstall net.blogjava.mobile.ebook 在真机上卸载ebook.apk(保留数据和缓冲目录) adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook
包名(Package name)在Android系统中是判断一个App的惟一标识,不一样的App能够有一样的名字,可是它的包名不能够相同。缓存
例如我能够本身编译生成一个App也叫“微信”,可是我App的包名不能为com.tencent.mm(微信的包名为这个),若是我指定的包名若是也和微信一致了,那么个人手机上只容许安装这两个App中的其中一个。说到这不少人就会有疑问,若是有人恶意作了一个和微信内容如出一辙的App,名字和包名都和微信同样,那怎么分辨呢?Android中为了防止这样,还作了一个叫签名的东西,微信的签名通常咱们是没有的,因此就能够经过签名来标识出这款App究竟是谁的了。服务器
一、看源代码 当有源代码的时候,能够到工程目录下的 “AndroidManifest.xml”文件下查看package这一项。 二、adb命令查看 列出手机装的全部 app 的包名: adb shell pm list packages 列出系统应用的全部包名: adb shell pm list packages -s 列出除了系统应用的第三方应用包名: adb shell pm list packages -3 推测一个包中可能带有的关键字: adb shell dumpsys activity | findstr mFocusedActivity 清除应用数据与缓存 adb shell pm clear 应用包名
一、接收电脑文件 语法:adb push local remote 案例:adb push d:/a.txt /sdcard/ 把电脑 D 盘下的 a.txt 文件推送到手机 sdcard 目录下 二、上传文件到电脑 语法:adb pull remote local 案例:adb pull /sdcard/a.txt d:/ 上传位于/sdcard/目录下的 a.txt 文件到电脑的 D 盘根目录下
能够在安卓设备上装个QQ之类的软件,进行截屏 adb shell screencap /sdcard/a.png adb shell /system/bin/screencap -p /sdcard/a.png 二、使用adb进行屏幕录像 adb shell screenrecord /sdcard/a.mp4 经过ctrl+c中止录制,你能够在sdcard目录下查看。妈妈不再担忧我处处找录制视频的软件了。
进入shell adb shell 退出shell exit
获取序列号 adb get-serialno 获取 MAC 地址 adb shell cat /sys/class/net/wlan0/address 查看设备型号 adb shell getprop ro.product.model 查看 Android 系统版本 adb shell getprop ro.build.version.release 查看屏幕分辨率 adb shell wm size 查看屏幕密度 adb shell wm density 查看permissions adb shell pm list permissions 查看系统的危险权限dangerous permissions adb shell pm list permissions -d -g
adb kill-server adb start-server 好比但愿移动adb文件夹,或者adb命令得不到想要的内容时
列出当前进程 adb shell ps | findstr 包名 杀死某个包的进程 adb shell am force-stop 包名
获取内存: adb shell dumpsys meminfo 包名 获取cpu: adb shell dumpsys cpuinfo | findstr 包名 adb shell top -n 1 | findstr 包名 获取流畅度相关: adb shell dumpsys gfxinfo 包名
若是想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操做外,还可使用以下的命令直接运行程序。微信
在emulator-5554模拟器上运行ebook.apk adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main 在真机上运行ebook.apk adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main 其中Main是ebook.apk的主Activity。至关于Windows应用程序的主窗体或Web应用程序的主页面。am是shell命令。
查看当前显示的activity adb shell dumpsys activity | findstr "mFocusedActivity" 结果: mFocusedActivity: ActivityRecord{93a4f9 u0 com.youdao.note/.activity2.MainActivity t36} 注意:咱们只须要这一部分:com.youdao.note/.activity2.MainActivity 即包名+activity 找到当前手机内的top Activity: adb shell dumpsys activity top | findstr ACTIVITY 启动某一个Activity: adb shell am start activity路径 adb shell am start com.youdao.note/.activity2.MainActivity ———————这个Activity路径可经过上面获取top activity的方式获取
netstat -ano|findstr "8080"