版权声明:
本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有。
未经允许,不得转载。
一、前言
在 Android 项目构建中 ,Gradle 是被推荐使用的,而不同版本的环境下,是需要对应的 Gradle 版本来支持的。这就导致了,如果同时维护多个项目,除非保持多个项目同步升级,否则只安装一个 Gradle 的版本,是无法满足需求的。
这个时候就需要利用一些 SDK 管理工具来帮我们管理这些 SDK 的版本了,这里根据 Gradle 的官方文档推荐,可以使用 SDKMAN 来管理 Gradle 的多个版本。
SDKMAN 是在基于类 Unix 的系统上,管理多个 SDK 的并行版本的工具。所以暂时只支持 Mac OSX、Linux,如果在 Windows 下也想使用,就需要借助 Cygwin 、PowerShwll 之类的环境了,或者直接使用官方推荐的 Scoop 根据来管理 SDK。
下面就在 Mac OSX 下,使用 SDKMAN 来管理多个 Gradle 的版本,做一个简单的介绍,当然 SDKMAN 不仅仅只能用于管理 Gradle ,这里只是使用 Gradle 来做个例子介绍。
二、SDKman
1、什么是 SDKMAN
SDKMAN 的全拼是 (The Software Development Kit Manager),从名称上就可以看出来,它是一个用于管理 SDK 的工具。它提供了方便的命令行根据(CLI)和 API,用于安装、切换、删除、列出候选SDK 版本、指定SDK 版本等操作。
SDKMAN 的安装非常的简单,只需要按照文档使用 curl 下载,然后将其加入环境变量即可,这里就不介绍如何安装 SDKMAN 了。直接常见官方文档安装即可。
SDKMAN 安装文档地址:http://sdkman.io/install.html
安装完成之后,通过 sdk version
命令,即可检查当前是否安装以及安装的版本。
从帮助文档中可以了解到,SDKMAN 的命令其实非常的简单,只有必要的命令。
2、安装指定版本的 Gradle
安装好 SDKMAN 之后,就可以通过 SDKMAN 来管理我们的 Gradle 了。如果需要安装新的 Gradle 版本,可以通过 install
命令进行安装 ,当然,作为 SDK 管理根据,这里的安装是需要指定版本号的。
命令:sdk install gradle 3.4
例如这里就是去安装 3.4 版本的 Gradle ,具体如下图,如果网络不好的情况下,可能会出现下载过慢的问题。
下载完成之后,会询问是否将刚才下载的版本,作为一个默认版本,如果指定的话,当前默认版本就是刚才下载的版本,这里是 3.4。
3、查看当前安装的 Gradle 版本
如果当前已经通过 SDKMAN 安装了多个 Gradle 之后,想查看这些已经安装的 Gradle 了。
命令: sdk list gradle
可以看出,使用
sdk list
命令,可以查出当前所有支持的 Gradle 版本号,版本号之前标记 *
的,说明是已经安装的 Gradle 版本,被 >
标记的,表示当前指定的 Gradle 版本。
4、移除已安装的 Gradle
当安装的 SDK 版本已经不再使用了,就可以选择将它卸载掉,当然,卸载 SDK 需要指定卸载的版本号。
命令:sdk uninstall gradle 3.4
5、设置默认的 Gradle 版本
虽然在安装新的 Gradle SDK 版本的时候,需要选择是否设置为默认版本,如果选择 Y ,则默认使用最新下载的 SDK 版本作为支持。单设置完成之后,如果需要修改,可以使用 sdk default
命令进行修改。
命令:sdk default gradle 3.3
6、使用临时的 Gradle 版本
有时候,我们并不是需要设置一个长期的 SDK 版本,只是临时使用一下,使用命令 sdk use
来指定一个临时的 SDK 版本。只在当前的 shell 窗口中,才会使用临时指定的 SDK 版本。
命令:sdk use gradle 3.4
7、查看当前使用的 Gradle 版本
如果需要查看当前指定的 Gradle 版本,除了使用 sdk list gradle
命令查看之外,还可以使用 sdk current
命令来查看。
命令:sdk current gradle
需要指定 "Use default gradle wrapper" 才可以,设置完成之后,如果依然失败,可以尝试重启一下 Android Studio 。
三、结语
使用 SDKMAN 管理各种 SDK 的版本真的很方便,而且这些命令都有对应的缩写,更多使用细节,可以去官方查阅文档。
SDKMAN 官方地址: http://sdkman.io/
觉得不错,记得点个赞再走。
公众号二维码.jpg
网友评论