码云Android项目构建注意事项(转载)
1、ant项目
build.xml必须位于项目根目录。
2、maven项目
pom.xml必须位于项目根目录。
3、gradle项目
由于gradle的配置灵活,我们做了一些规范,并且增加了一下机制来处理签名问题。
二、码云Android项目构建示例
android-app 项目目录结构(以osc/android-app为例)

gradle 需要的配置和脚本有:
gradlew/gradlew.bat/build.gradle => 构建脚本。
settings.gradle => 子项目。
app/build.gradle => 构建配置(设置签名, debug/release, 依赖等等)。
gradle.properties(优先于 config/gradle.properties, 当 gradle.properties 不存在时,则尝试读取 config/gradle.properties) => 用户设置 jdk/gradle, 可定义变量。
gradle/wrapper/gradle-wrapper.properties => 构建使用的 gradle 的版本(请使用gradle 2.0以上版本)。
1、关于gradle构建流程:
判断是否是标准的 gradle 项目。
读取 settings.gradle 文件,找到子项目的路径。
读取 gradle.properties 或 config/gradle.properties 文件(确定 keystore。如果 keystore 使用私有项目地址,则使用当前用户身份下载。如果没有设置或者不存在私有项目地址及权限错误,则生成随机签名用来构建)。
读取 gradle/wrapper/gradle-wrapper.properties 文件, 确定使用的 gradle 版本,下载并解压。
进入子项目目录。如果没有定义,即为项目根目录。
读取子项目中 build.gradle 文件,修改其中的 signingConfigs section 和 buildTypes section,以确保使用正确的签名和构建版本。
构建成功,上传apk。
2、关于setting.gradle:

3、关于config/gradle.properties:
gradle 使用的 gradle.properties 必须位于项目根目录,为了不让开发者本地项目中的 gradle.properties 上传到线上仓库, 可将该文件加入到 .gitignore 中,然后在 config/gradle.properties 配置 android 构建需要的 keystore 信息,配置可参考 上图。
私有的 keystore 存储在私有仓库,从而保证了签名文件的安全。如果用户根目录下存在 gradle.properties 文件,则不 再读取 config/gradle.properites。注明: osc/android-app 项目中 config/gradle.properties 使用了绝对路径,用户可设置如下:
| 
 1 
 | 
RELEASE_STORE_FILE=http://git.oschina.net/your/private-project/blob/ref/path-to-keystore | 
4、关于app/build.gradle:

签名设置也可采用如下形式:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
 | 
//signing files settingssigningConfigs {    debug {        #相对路径且存在;否则使用Git@OSC的keystore(绝对路径构建失败)        storeFile file("your_secret.keystore")        storePassword RELEASE_STORE_PASSWORD        keyAlias RELEASE_KEY_ALIAS        keyPassword RELEASE_KEY_PASSWORD    }    release {        #网路地址存在;否则使用Git@OSC的keystore        storeFile file("http://zql.org/zouqilin/gradle_keystore/blob/master/git-gradle-key.keystore")        storePassword RELEASE_STORE_PASSWORD        keyAlias RELEASE_KEY_ALIAS        keyPassword RELEASE_KEY_PASSWORD    }    test {        #混合形式        storeFile file("http://zql.org/zouqilin/gradle_keystore/blob/master/git-gradle-key.keystore")        storePassword "oschina123"        keyAlias  "alias_name"        keyPassword "oschina123"    }} | 
三、码云 Android 项目使用步骤
设置项目的语言为Android。

进入项目首页会出现【生成apk】按钮。

点击【生成apk】按钮,进入构建页面(使用当前用户的身份拉取私有仓库中的 keystore )。

【注意】:如果想使用项目中提供的 keystore(私有仓库地址),请选中该复选框!
构建过程。

构建完成(提供 apk 下载)。

生成随机签名(提供签名信息和 keystore 下载,项目中未提供签名,为方便测试,码云为每个项目生成了随机的签名)。

码云Android项目构建注意事项(转载)的更多相关文章
- 2017 年度码云新增项目排行榜 TOP 50,为它们打“call”
		
2017 年度码云新增项目排行榜 TOP 50 正式出炉 !2017 结束了,我们来关注一下这一年里码云上新增的最热门的开源项目吧.此榜单根据 2017 年在码云上新增开源项目的 Watch.Star ...
 - 使用Git将项目托管到码云及从码云导入项目到本地
		
前言 码云+Git+IntellJ IDEA 欢迎转载,请注明作者和出处哦☺ Git 的安装及使用的教程  最好不要在官网下载,官网下载要vpn而且速度还很慢 . 推荐在 https://gi ...
 - 2018 年度码云热门项目排行榜 TOP 10
		
2016 年度码云热门项目排行榜 TOP 10 是通过开源项目2016年在码云上的 Watch.Star.Fork 数量来评定的榜单.码云平台发展至今,涌现了越来越多优秀的开源项目,越来越多的开源作者 ...
 - 在Windows下使用Git+TortoiseGit+码云管理项目代码
		
1. 安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2. 安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3. 在码云创建账号, ...
 - 谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)
		
转自:http://blog.csdn.net/kuerjinjin/article/details/23563059 从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用w ...
 - 使用TortoiseGit+码云管理项目代码
		
1.下载安装msysgit. 2.下载安装tortoisegit. 3.创建ssh密钥. 开始–所有程序–TortoiseGit–PuTTYgen 生成方法:点击“Generate”后,鼠标在key下 ...
 - idea中git从码云克隆项目到本地
		
1.首先需要在操作系统上安装Git分布式管理系统 此处自行百度............. 2.在Intellij IDEA中配置Git 打开Settings(File-->Settings) - ...
 - eclipse导入码云-GIT项目
		
1.首先找到项目源码地址我随便找到一个git地址 :https://gitee.com/mingSoft/MCMS 2.打开eclipse空白处右键导入项目搜索git. 3.将第一步复制的git地址复 ...
 - 通过git从码云克隆项目到本地
		
1.下载安装Git,傻瓜式下一步下一步即可... 2.配置Git: 2.1.选择你要clone到本地的路径:右键--->$ Git Bash Here,弹出Linux命令窗口:$ cd ~直接回 ...
 
随机推荐
- CSS3实战之多列
			
CSS2中如果要设计多列布局,常用的方法有浮动和定位,但是浮动容易错位,定位无法满足模块的自适应能力,以及模块之间的文档流联动的需要.为了解决多列布局的难题,CSS3新增了多列自动布局功能. 利用多列 ...
 - 简单几招,解决jQuery.getJSON的缓存问题
			
今天做测试工作,发现了一个令我费解的问题,jquery的getJson方法在firefox上运行可以得到返回的结果,但是在ie8上测试,竟发现没有发送请求,故不能取到任何返回的结果,经历了一翻周折,找 ...
 - bzoj 5055: 膜法师——树状数组
			
Description 在经历过1e9次大型战争后的宇宙中现在还剩下n个完美维度, 现在来自多元宇宙的膜法师,想偷取其中的三个维度为伟大的长者续秒, 显然,他能为长者所续的时间,为这三个维度上能量的乘 ...
 - 支付宝hr终面,忐忑的等待结果
			
上周一,内推网投了支付宝上海的 高级java软件开发工程师:阿里效率就是高,不到30分钟电话就过来了!约的上周五14:00面试:上周五技术面了2轮,第一轮是主管面试,貌似给了p6;第二轮部门总监面试, ...
 - 通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解
			
0x1 工具和环境介绍 dvwa:渗透测试环境 BurpSuite:强大的WEB安全测试工具 sqlmap:强大的sql注入工具 以上工具和环境都在kali linux上安装和配置. 0x2 步骤说明 ...
 - Linux Kernel sys_call_table、Kernel Symbols Export Table Generation Principle、Difference Between System Calls Entrance In 32bit、64bit Linux【转】
			
转自:http://www.cnblogs.com/LittleHann/p/4127096.html 目录 1. sys_call_table:系统调用表 2. 内核符号导出表:Kernel-Sym ...
 - js选择checkbox值,组织成key-value形式,传值到后台
			
最近项目中遇到这样一个问题,接口定义需要传一个Map<String,String[]> params的参数,需要在jsp页面组织数据到后台操作,所以记下来以后难免还会用到. 以下是java ...
 - Robotium测试套管理测试用例
			
前提:已写好测试用例 新建个测试套MyTestSuite管理你需要跑的测试用例,或者将相同功能的测试用例归纳到一个测试套中 package com.robotium.test.testsuite; i ...
 - VirtualBox上安装CentOS-7(Minimal)
			
Windows 10家庭中文版,VirtualBox 5.2.12,CentOS 7(Minimal版), 因为听到大家在谈论CentOS,阿里云上也有CentOS,CentOS还是Red Hat出品 ...
 - Python基础:内置函数
			
本文基于Python 3.6.5的标准库文档编写,罗列了英文文档中介绍的所有内建函数,并对其用法进行了简要介绍. 下图来自Python官网:展示了所有的内置函数,共计68个(14*4+12),大家可以 ...