美文网首页
Android gradle配置学习

Android gradle配置学习

作者: 三季人 | 来源:发表于2016-04-28 16:42 被阅读159次

一.gradle环境变量配置

参考配置

GRADLE_HOME = C:\Gradle
PATH = %GRADLE_HOME%\bin
运行gradle -v检查安装是否正确
gradle配置环境.png

2、通过gradle导入的jar包是从哪里来的:

需要注意的是:不是所有的jar包都是可以通过gradle来导入的。那通过gradle导入的jar包是从哪里来的呢?解释如下:
我们发现HelloWorld这个project的目录下有一个build.gradle文件,打开它:

上图中第17行的"jcenter()"的意思是,所有通过gradle导入的jar包都是从http://bintray.com/bintray/jcenter这个中央仓库上扒下来的。如果你需要的jar包在这个网站上没有,那就无法通过gradle的方式来导入哦。
顺便提一下,上图中第8行的classpath中的gradle 1.1.0是android的一个gradle插件(也是从中央仓库扒下来的)。而我们自己使用的gradle版本如下图所示:

二、签名打包的两种方式:

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份(即keystore),多个app可以使用同一个签名。

1、方式1:通过Android Studio进行签名:
此步骤忽略 详情请参考

2、方式2:通过命令行的方式进行签名:

(1)加载Key Store:

我们先删掉上面的通过第一种方式所签名的apk文件。接下来进行第二种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:



上图中,选中app这个module,然后切换到singning标签栏,紧接着点击添加,然后生成release签名信息,紧接着点击"OK"。接着做如下操作:

上图中,切换到Build Types标签,将Signing config选择为"release",即将刚刚生成的release签名信息配置进去。

操作完成之后,我们可以看到app这个module的build.gradle文件多出了如下红框部分的代码:


然后执行菜单栏的"build-clean Project":



(2)生成realease版本的apk:

紧接着在命令行Terminal输入如下命令:(AS已经将命令行Terminal集成到了软件当中)

gradlew assembleRelease

如果运行成功,效果如下:


生成的签名好的apk在如下位置:


注意:找回key的alias参照

3、为什么要使用gradlew命令而不是gradle命令:
在HelloWorld工程目录下有一个gradle文件夹,在gradle/wrapper目录下有一个gradle-wrapper.properties文件,打开它:


上图代表着HelloWorld这个工程所依赖的gradle的版本信息。上图的红线表示,如果我们的工程中没有gradle,软件会根据这个url去下载gradle,终于知道为啥第一次打开AS时会这么慢了吧?
如果我们执行了gradlew命令,实际上是执行上面的gradle wrapper,然后找到我们已经下载好的gradle 2.2.1。如果现在有很多个工程,但是每个工程的gradle版本都不一样,我就必须要将每个版本的gradle都要配置到环境变量当中,而执行了gradlew命令,就会避免这个麻烦。

3.gradle 多渠道打包

详情请点击这里
参考项目地址

Gradle常见命令

之前接触了一些命令如
./gradlew -v 
./gradlew clean 
./gradlew build, 

 注意都是**./gradlew**, **./**代表当前目录,gradlew代表 gradle wrapper,意思是gradle的一层包    装,可以理解为在这个项目本地就封装了gradle,即gradle wrapper,只要下载成功即可用grdlew wrapper的命令代替全局的gradle命令。
理解了gradle wrapper的概念,下面一些常用命令:./gradlew -v 版本号

./gradlew clean 清除....../app目录下的build文件夹

./gradlew build 检查依赖并编译打包

这里注意的是 ./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 **assemble**, 如
./gradlew assembleDebug 编译并打Debug包

./gradlew assembleRelease 编译并打Release的包

./gradlew installRelease Release模式打包并安装

./gradlew uninstallRelease 卸载Release模式包

相关文章

网友评论

      本文标题:Android gradle配置学习

      本文链接:https://www.haomeiwen.com/subject/fxwzlttx.html