Android Studio中使用Gradle打包
首先要注意一点,Android Studio中把proguard.txt已经命名为proguard-rules.pro,由此可见,採用Gradle打包,混淆规则文件的名称是不重要的。能够自己随便命名。
混淆规则跟原来一样。没有变化。不懂能够搜一下别人怎么写的。
增加签名文件。在Build->Generate Signed APK…
就会看到以下的弹出框
假设没有签名文件就创建新的签名文件,假设已经有签名文件,那么选择签名文件的位置,并填写好password就能够点Next了。
创建签名文件的方式跟老版本号(Eclipse+ADT)的签名方式一样,这里就不再多说了。
你会发现AS生成的签名文件是jks后缀名的,跟原来的能够说tore不一样。其实。签名文件也并非受文件名称影响。
Next后会弹出以下的框
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
在Buid Type中默认有两个选项,故名思议,我们寻经常使用的是debug,正式打包,我们须要用release。选中后点Finish就能够打包了。可是这样打包并没有做代码混淆。以下我们继续增加代码混淆。
选中项目的Open Module Setting,然后我们会看到以下这个框
我们选中app->Signing 点击+号,新增一般配置,这个配置就是刚刚须要手动输入和导入签名文件的操作,我们能够在这个config(能够随便命名)填好签名password和签名文件的路径。
然后我们再点到Build Types选卡
这个就是我们的正式发包的须要配置的内容。其它选默认。须要改两个地方:Signing Config,选择我们刚刚设置好的签名配置;在Proguard File这一栏选中项目中的proguard-rules.pro的绝对路径,也就是项目根文件夹下的app/proguard-rules.pro,然后点击ok。
Gradle会自己主动同步改动过的内容。
这个时候我们来看一下app文件夹下的build.gradle的内容。你会发现跟我们刚才配置的内容是一模一样的。
以下我能够打包正式签名的apk包。
有三种方式:
1. 在Build-> Generate Signed APK… 直接下一步下面一步就能够打包了;
2. 在AS 提供的终端中输入gradlew release,或者外部的终端打开到项目的跟文件夹再输入gradlew release。但这个前提是已经在本机安装了gradle。而且配置了环境变量,不然终端是无法识别这种命令的。
3. 使用AS默认Gradle插件,在我们窗体的最右边能够找到Gradle(默认是最小化),打开它并点击项目名称再下一层,看到有一个Tasks->build。找到assembleRelease(批量打包)并双击,就自己主动打包。
正式签名包假设没有更改过文件夹默认是在app文件夹下或者是app/build/output/apk文件夹下,个人比較喜欢放在后面那个文件夹。
还要注意一点。改动打包的版本号信息,须要在build.gradle中改动以下红色的内容,跟manifest.xml一样
defaultConfig {
applicationId 'com.arjinmc.goddnessplan'
minSdkVersion 14
targetSdkVersion 22
versionCode 2
versionName '0.0.2'
signingConfig signingConfigs.config
}
Android Studio中使用Gradle打包的更多相关文章
- 如何在Android Studio中使用Gradle发布项目至Jcenter仓库
简述 目前非常流行将开源库上传至Jcenter仓库中,使用起来非常方便且易于维护,特别是在Android Studio环境中,只需几步配置就可以轻松实现上传和发布. Library的转换和引用 博主的 ...
- Android Studio中由于gradle插件版本和gradle版本对应关系导致的编译失败的问题
今天在Android Studio中导入新项目,import之后编译报错,报错信息基本都是和版本相关,查询gradle版本相关知识,了解到gradle插件版本和gradle版本有相应的匹配关系,对应如 ...
- 在 Android studio 中 配置Gradle 做到 “根据命令行提示符生成指定versionCode, versionName,指定apk的打包输出路径”
需求: 1. 使用 Android studio ,使用 gradle 进行构建 2. 在实际开发中,我们需要使用jenkins进行打包.就需要配置我们的 gradle 脚本以支持参数化的方式. 3. ...
- 在 Android studio 中 配置Gradle 进行 “动态编译期间,指定 远程服务器地址 ,生成多个安装包”
需求: 在产品开发中,经常需要发布各个版本,每个版本的服务器地址有不同的服务器地址.比如 开发服务器使用 192.168.1.232服务器, 测试服务器使用 192.168.1.245服务器, 正式上 ...
- Android(java)学习笔记126:Android Studio中build.gradle简介
1.首先我们直接上代码介绍: // Top-level build file where you can add configuration options common to all sub-pro ...
- android studio 中的 gradle version
刚开始接触AS,从geithub上download了好多项目,每一个都需要改动,对我这种新手来说,慢慢琢磨吧 问题一: 解决办法: 在build.gradle中,将gradle的版本改正如上图所示即可 ...
- 解决Android Studio中Refreshing gradle project时间过长的最简单方法
Refreshing gradle project往往出现在Gradle出现更新,需要从墙外的网重新拖下来的前提下.具体可以查看以下文件:/path/to/project/gradle/wrapper ...
- Android(java)学习笔记66:Android Studio中build.gradle简介
1.首先我们直接上代码介绍: // Top-level build file where you can add configuration options common to all sub-pro ...
- android studio中为gradle指定cmake版本
Android Studio相当于是Intellij基础上写了一个AS插件,这个插件使用gradle作为构建系统,因此构建出现问题先考虑gradle的文档. gradle可以使用native buil ...
随机推荐
- HDOJ多校联合第四场
B题: C题:仅由'A','G','C','T',4个字母组成,给定一个字符串S,|S|<=15,给定一个整数m,以m为长度且仅含4种字母的字符串T,求LCS(S,T)为0,1,2,3....| ...
- 简单的Ajax例子
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- easyui源码翻译1.32--Calendar(日历)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 日历控件显示一个月的日历,允许用户选择日期和移动到下一个或上一个月.默认情况下,一周的第一天是周日.它可以通过设置'f ...
- 虚函数表以及RTTI阅读(阅后焚)
http://blog.csdn.net/haoel/article/details/1948051/ http://www.cnblogs.com/ustc11wj/archive/2012/08/ ...
- Android:DES加密
private static final String KEY = "xxxxxx"; // KEY的字节长度必须超过24 public DESUtil(){ super(); } ...
- Fedora 17下交叉编译vlc-2.0.6-win32小记
关于编译windows下的vlc网上的教程除了翻译N年前wiki官网的那些蚂蚁文之外,可以说基本没啥参考意义和价值.因为那些都是非常老的版本,0.8.x或者1.x.x,而我这个人有喜欢新鲜事儿,所以就 ...
- Webform——验证控件
验证控件一般是在注册的时候用到,是直接将JS代码封装到了控件里面,拉过来直接可以用,下面介绍一下主要用法: 1.CompareValidator:比较验证 常用属性:ControlToCompare ...
- ubunt下的MinimalCD
ubuntu有MinimalCD,水平高的衍生版制作者基于MinimalCD安装并编译,定制出独特风格的ubuntu衍生版,如 crunchbang.水平不高的个人用户可以从Alternate(文字安 ...
- ZOJ 3795 Grouping
大致题意是给n个人和m组关系,每组关系都是两个人s和t,表示s年龄不小于t的年龄,然后让你把这n个人分组,使得任何一个组里面的任意两人都不能直接或间接的得出这两个人的年龄大小关系. 思路:根据给出的关 ...
- CentOS6.x安装配置nginx [转]
博文来源:http://leyewen.blog.163.com/ nginx安装 nginx的官网:http://nginx.org/ 相应下载页面:http://nginx.org/en/ ...