默认情况下,在你的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. StopAllSounds

    10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生.玉米.饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者...Description   小松鼠开心地在树之间跳跃着,突然她停了下来 ...

  2. [模版]平衡树splay2

    题目描述 1. 加入:一个新的成员加入同好会,我会分配给他一个没有使用的id,并且询问他的兴趣值val. 2. 修改:id在区间[a,b]内的成员,兴趣值同时改变k,k有可能是负数,表示他们失去了对同 ...

  3. hdu 4267 线段树间隔更新

    A Simple Problem with Integers Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  4. 习题9-4 uva 1630

    题意: 给你一串数字,要求你对其进行折叠使其长度最短. 折叠情况:全是一个字母 & 重复的字符串 AAAAAAAAAABABABCCD    -->   9(A)3(AB)CCD NEE ...

  5. 基于SSE4和多核编程的电子相册的实现

    基于SSE4和多核编程的电子相册的实现   摘要:电子相册中前后两张图片的切换会产生淡入淡出效果,而且切换过程中需要大量的中间计算过程,而SSE4和多核编程技术能够有效加快中间的计算过程,有效减少图片 ...

  6. Linux配置服务器的一点总结

    一.Linux初始化服务 首先搞清楚四个概念: 进程:正在运行的程序,有自己独立的内存空间. 线程:是进程的下属单位,开销较进程小,没有自己独立的内存空间. 作业:由一系列进程组成,来完成某一项任务. ...

  7. Java内存模型之重排序

    参考链接:https://blog.csdn.net/huzhigenlaohu/article/details/51595676

  8. MockHttpServletRequestBuilder中content和param的区别

    结论: Mock将URL的参数和通过使用param添加的参数添加到request中的parameter中(url参数) 而将content内容.类型并没有进行解析,直接添加到request的conte ...

  9. block的那些事(从懵懂到使用)

    从大学开始自学iOS,在iOS岗位已经两年了,遇到传值等操作,代理和block二选一的话,以前我会毫不犹豫选择代理.久而久之,入职到大公司之后,发现处处是block的天地,才慢慢的了解block并爱上 ...

  10. 网页底部广告悬浮弹窗(css)

    有的单页面需要添加广告等悬浮div. 部分代码: <div class="flex"> 内容.... </div> 主要css代码: .flex{posit ...