要在Android Studio里面使用adb,首先需要配置Terminal
1. terminal到底有什么用
terminal就是adb的命令行,as集成了这个功能,不需要我们去cmd+r去命令行窗口打命令了
adb是什么?
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb有什么用?
借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机(就是所有的android操作系统的移动设备啦,什么叫号机,点餐机,平板,电视机等等)进行全面的操作
所以我们先来配置terminal
AndroidStudio安装完成后,再用terminal命令行的时候,总是出现“不是内部或外部命令,也不是可执行程序”。
想起之前在用jdk需要配置环境变量,如果没有配置或配置不正确就会出现“不是内部或可执行命令”,但是AS内部集成的terminal,怎么都搞不懂为什么什么命令都不可以直接使用.
实际上AS中的terminal就是计算机中的cmd命令行。在file—setting中tools,如下图所示:
同样在doc窗口执行android命令依旧是“不是内部或外部命令,也不是可执行程序”,那么就知道是为什么了。
就是环境变量中没有配置相应的参数咯,右键计算机属性,点击环境变量,在path后添加“D:\Android\sdk\platform-tools的路径”即可。
重启AS,打开命令行,命令就可以正常使用了。例如执行 android list target,会打印出所有的Android SDK中下载好的Android platforms
当然在你的项目目录下执行,如果在根目录下执行是无法打印出Android platforms。
参考原文:http://blog.****.net/qq_16131393/article/details/51153676
配置这段,是我之前用有道笔记收藏的,忘记是哪位大神的了
2.terminal操作命令
这个应该是等同于windows黑窗口下的命令行,这个自己有兴趣可以自己自行学习;
一些adb操作命令则如下:
查看设备: adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
可以通过数据线连接或者网络连接
adb connect 192.168.3.225
安装软件: adb install
这个命令将指定的apk文件安装到设备上
举例,要给完整的路径
adb install D:\Hmygit\seed\app\build\outputs\apk\app-KONKA-release.apk
给apk上锁,发布 apk 到 android market上时,可以设置相关标志位来保护你的 app。
adb install -l D:\Hmygit\seed\app\build\outputs\apk\app-KONKA-release.apk
重新安装apk
adb install -r test.apk
允许测试
adb install -t test.apk
在sdcard上安装
adb install -s test.apk
允许低版本代码
adb install -d test.apk
授予所有运行权限
adb install -g test.apk
卸载软件:adb uninstall <包名>/adb uninstall -k <包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
举例
adb uninstall com.tiidian.seed.gangjia
进入设备或模拟器的shell:adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中
进入shell环境,可以查看该设备的存储目录
非root设备,无法查看设备的data/data/目录下的文件,需要执行
run-as com.tiidian.seed.normal(包名)
发布端口
可以设置任意的端口号,做为主机向模拟器或设备的请求端口
如:adb forward tcp:5555 tcp:8000
从电脑上发送文件到设备adb push <本地路径> <远程路径>
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
从设备上下载文件到电脑adb pull <远程路径> <本地路径>
不填写本地路径的话,默认会把拉下来的文件放到本项目根目录下
获取设备的ID和***
adb get-product,adb get-serialno,adb shell,sqlite3
启动项目
adb shell am start -n com.tiidian.seed.kangjia/com.piote.spaco.activities.MainActivity
当同时连接多个设备时,执行命令,需要带上 -s 设备名
D:\Hmygit\hsw\waiter-tablet>adb devices
List of devices attached
192.168.3.213:5555 device
0123456789ABCDEF device
如上,执行命令时
adb -s 0123456789ABCDEF shell
adb -s 0123456789ABCDEF pull /mnt/internal_sd/IM/waiter/log/log.txt
更多adb命令可以参考:
https://blog.****.net/u012908775/article/details/51898442