默认情况下,在你的Gradle构建设置中有两种构建类型:一种是为了调试你的应用,debug类型;一种是构建最终的发布版本,release类型。无论你使用哪种模式,你的app必须在安装到设备或虚拟机中之前进行签名。当时debug类型时,使用一个调试key,当时release类型时,使用一个release key。

无论你使用debug或者release类型来构建,你需要运行和构建你的模块。这将会创建一个apk文件,你可以安装文件到你的虚拟机或者设备中。当你使用debug构建类型,apk文件会自动的被SDK工具用debug key进行签名。当你使用release构建类型的时候,apk文件是没有签名的,你必须手动用你的key对apk进行签名。

注意:当你使用ant并且在Windows中安装JDK,默认安装到Program Files中。因为包含空格,可能会导致ant失败。为了修复这个问题,你可以通过如下方式什么JAVA_HOME变量:

set JAVA_HOME=c:\Progra~1\Java\<jdkdir>

更简单的方式,是将JDK安装到没有空格的目录。比如:

c:\java\jdk1.7

你可以声明你的项目使用Gradle版本,如下:

gradle wrapper --gradle-version version-number

在调试模式构建

为了方便测试和调试,你可以在debug模式构建你的APP并安装在虚拟机中。在调试模式,构建工具自动用一个debug的key为你的应用签名并且aipalign进行优化。

为了在debug模式进行构建,打开命令行,找到你的项目的根目录,在windows下,执行:

gradlew.bat assembleDebug

在Mac OS或Linux平台,输入如下命令:

$ chmod +x gradlew
$ ./gradlew assembleDebug

在Release模式构建

在windows运行如下命令:

> gradlew.bat assembleRelease

在Mac OS或者Linux平台,运行如下命令:

$ ./gradlew assembleRelease

这是未签名版本的生成方式。

本文作者:宋志辉

个人微博:点击进入

4.4、Android Studio在命令行运行Gradle的更多相关文章

  1. android学习17——命令行建gradle工程

    使用命令行建gradle工程要涉及到几个工具的版本. 1.gradle的版本.这个用gradle -version查到. 2.SDK BuildTools的版本. 这个要先配好SDK的环境变量,然后在 ...

  2. cocos2d-x 3.9 android studio项目命令行打包

    进入创建的项目的 proj.android-studio目录 cocos run/compile -p android --android-studio 这样就可以打包了

  3. 【Mac + Android】之Android Studio 环境搭建,AVD模拟器运行(包括:命令行运行AVD,并且Genymotion模拟器插件配置运行)

    目录: 前提.Mac环境下手动配置Android SDK 一. Android Studio下载及配置 二.AVD模拟器配置运行 扩展:命令行运行AVD模拟器 三.在Android Studio 中配 ...

  4. 命令行运行Android Robotium自动化用例或单元测试用例

    本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动 ...

  5. 从命令行运行django数据库操作

    从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_T ...

  6. python命令行运行在win和Linux系统的不同

    今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件. 知道是用pydoc进行模块的读取,但是在windows系统下,调用os模块之后,结果总是为空. 核心语句: ...

  7. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  8. jmeter命令行运行-单节点

    jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...

  9. 含有package关键字的java文件在命令行运行报错

    程序中含有package关键字,使用命令行运行程序时出现"找不到或无法加载主类",而使用Eclipse软件可以正常运行程序的可能解决办法. 在包下的类,在Java源文件的地方编译后 ...

随机推荐

  1. SAC E#1 - 一道神题 Sequence1

    题目背景 小强和阿米巴是好朋友. 题目描述 小强很喜欢数列.有一天,他心血来潮,写下了一个数列. 阿米巴也很喜欢数列.但是他只喜欢其中一种:波动数列. 一个长度为n的波动数列满足对于任何i(1 < ...

  2. 【网络流】【BZOJ1006】【SCOI2007】蜥蜴

    学弟@lher在周末训练赛中出的题目的原题(这个人拿省选题来当作提高组模拟,太丧了...) 题意简析:看题目:) 解题思路:题目显然是最大流. 首先拆点将点权变为边权,然后按照题意对于所有有跳板的点向 ...

  3. ●POJ 3348 Cows

    题链: http://poj.org/problem?id=3348 题解: 计算几何,凸包,多边形面积 好吧,就是个裸题,没什么可讲的. 代码: #include<cmath> #inc ...

  4. bzoj4559[JLoi2016]成绩比较 容斥+拉格朗日插值法

    4559: [JLoi2016]成绩比较 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 261  Solved: 165[Submit][Status ...

  5. CTSC2017 铁牌记

    Day 0: 先到了丽都酒店. 看见北京八十中学生在发胸牌手册和T恤,领完之后开始分房间. 我和ryc一屋,lyd和ysq一屋,yzy和gzz分到了珀利酒店,老师尝试了半天把我们分到一个酒店,失败了. ...

  6. JavaScript和DOM

    body { margin: 0 } .left { float: left } .right { float: right } .pg-head { height: 48px; background ...

  7. TeamViewer 服务队列网页怎么打开?有什么用?

    熟悉一款软件,除了要熟悉它的界面,还应该熟悉它的网站.可能会有很多人说,网站我当然知道了.但是TeamViewer的服务队列页面你真的熟悉吗?所以,今天小编就带大家深入的了解一下TeamViewer服 ...

  8. getBoundingClientRect方法获取元素在页面中的相对位置

    获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成"回溯".而 getBou ...

  9. json转化为对象数组

    1.ascx传值给aspx aspx页面 <%@ Page Title="" Language="C#" MasterPageFile="~/_ ...

  10. KMP算法小结

    最近看了一些关于KMP算法的资料,在此写一篇博客总计一下. 1.KMP算法介绍 KMP算法是一种字符串搜索的改进算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称 ...