Terminal大家都熟悉,是一个类似cmd的命令行工具,AndroidStudio中自带,我们可以在上面利用ADB工具的相关命令进行应用程序安装、卸载、文件写入、日志输出等操作,也可以利用Gradle构建工具的相关命令进行项目的构建打包、签名等操作。

我们在第一次安装Android studio的时候Terminal窗口中输入”adb”或”gradle”的时候总是报一个“XXX不是内部或外部命令,也不是可运行的程序或批处理文件”的错误信息,这是因为这两个工具没有在系统变量中配置的原因。这里就简单总结一下Terminal相关配置及一些常用命令便于日后的回顾。

ADB工具配置

ADB全称Android Debug Bridge,是Android的一个调试工具,借助这个工具,我们可以调试开发的程序,还可以对连接到电脑的手机设备或者手机模拟器进行操作,比如安装、卸载app、升级等,总之adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。adb.exe在安装的sdk开发包platform-tools目录下。
上边也说了第一次安装androidstudio,Terminal窗口并不能运行adb命令,需要进行环境变量的配置,其配置过程和配置java一样:
1. 先在系统变量中新建一个变量名字为ANDROID_HOME的变量,值为你的sdk目录。
adb环境变量配置图1
2. 将SDK中adb目录配置在path变量里,在系统变量的path中后面添加 %ANDROID_HOME%\platform-tools;
adb环境变量配置图2
3. 重启android studio,打开Terminal窗口,输入’adb’,若出现adb相关信息,即为可用。

ADB常用的命令

  • adb start-server //开启PC端的adb server
  • adb kill-server //关闭PC端的adb server
  • adb connect 192.168.1.5:5555 //连接手机(5555是手机开放的端口号,可省略)
    ,如果连接成功会进行相关的提示,此时在电脑上可以输入adb相关的命令进行调试该手机,如果失败的话,可以先kill-server命令,然后重试连接。
  • adb disconnect 192.168.1.5:5555 //调试结束,断开手机连接。
  • adb devices //显示当前运行的全部模拟器
  • adb shell pm list packages //列出手机上所有安装的应用包名
  • adb install *.apk //adb安装apk
  • adb -s <设备编号> install *.apk //多个设备时,指定某设备安装应用。
  • adb uninstall apk的包名 //adb卸载apk。
  • adb push <本地路径> <远程路径> //从本地向设备中添加文件
  • adb push <远程路径> <本地路径> //从设备上拷贝文件到本地
  • adb help //显示帮助信息
  • adb shell //进入设备的data目录
  • exit //退出adb shell

tap:有些时候通过命令行安装某个应用时,默认是不启动这个应用的,我们可以使用如下命令启动该应用:

$ adb shell
$ am start -n {应用包名}/{应用启动页全路径}

Gradle工具配置

Gradle这个不陌生,作为Android开发主要用于项目的构建,功能很强大,其命令可用于apk的多渠道打包(release,debug)、签名、查看构建信息等,Terminal中使用gradle命令同样也要配置环境变量,gradle的环境变量配置和adb环境变量配置一样,也有如下步骤:
1. 先在系统变量中新建一个变量名字为GRADLE_HOME的变量,值为本地gradle地址,在AndroidStudio安装目录中可找到。
2. 将SDK中adb目录配置在path变量里,在系统变量的path中后面添加 %GRADLE_HOME%\bin;
3. 重启Android Studio,打开Terminal窗口,输入’gradle’,若有gradle先关信息即为成功。

Terminal输入命令gradle和gradlew的区别

其实细心的同学发现不用配置gradle的环境变量直接可用”gradlew”的命令就可以使用。这两个有什么联系呢?
gradlew即gradle wrapper,是google推荐的build方式。每个项目都有一个特定版本的gradle用于构建此项目,但是并不是所有的项目都用一个版本,也有可能某个项目所用的gradle版本电脑上并没有下载,这样如果在本地配置gradle,需要配置太多个,太麻烦。在项目gradlew里面配置项目所需要的gradle版本,然后用户只需要运行gradlew(第一次运行)就可以按照配置下载对应的gradle到项目的目录中,仅仅给项目本身用,然后就可以用gradlew命令执行clean、build等操作,和gradle命令一样,太方便了。其实说白了gradlew就相当于gradle的包装。
gradle-wrapper

Gradle常用的命令

  • gradlew -v //版本号
  • gradlew clean //清除app目录下的build文件夹
  • gradlew build //检查依赖并编译打包
  • gradlew assembleDebug //编译并打Debug包
  • gradlew assembleRelease //编译并打Release的包
  • gradlew installRelease //Release模式打包并安装
  • gradlew uninstallRelease //卸载Release模式包
GitHub 加速计划 / term / terminal
94.53 K
8.17 K
下载
The new Windows Terminal and the original Windows console host, all in the same place!
最近提交(Master分支:2 个月前 )
6047f37e microsoft/vcpkg-tool#1474 now validates that the target triplet is valid. Unfortunately, `ARM64` is not valid... despite VS defaulting to it. VS 17.12 moved to the newer version of the vcpkg tool. Given that we still want to build on VS 17.12, this commit adds a local workaround. See DD-2302065 for the internal tracking bug.   See microsoft/vcpkg#42182 for the upstream fix. 2 天前
282670a0 ## Summary of the Pull Request This extends the copy command to be able to include control sequences, for use in tools that subsequently know how to parse and display that. ## References and Relevant Issues https://github.com/microsoft/terminal/issues/15703 ## Detailed Description of the Pull Request / Additional comments At a high level, this: - Expands the `CopyTextArgs` to have a `withControlSequences` bool. - Plumbs that bool down through many layers to where we actuall get data out of the text buffer. - Modifies the existing `TextBuffer::Serialize` to be more generic and renames it to `TextBuffer::ChunkedSerialize`. - Uses the new `ChunkedSerialize` to generate the data for the copy request. ## Validation Steps Performed To test this I've manually: - Generated some styled terminal contents, copied it with the control sequences, pasted it into a file, `cat`ed the file and seen that it looks the same. - Set `"firstWindowPreference": "persistedWindowLayout"` and validated that the contents of windows are saved and restored with styling intact. I also checked that `Invoke-OpenConsoleTests` passed. ## PR Checklist - [x] Closes #15703 - [ ] Tests added/passed - [x] Documentation updated - If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: https://github.com/MicrosoftDocs/terminal/pull/756 - [x] Schema updated (if necessary) 4 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐