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构建流程:

  1. 判断是否是标准的 gradle 项目。

  2. 读取 settings.gradle 文件,找到子项目的路径。

  3. 读取 gradle.properties 或 config/gradle.properties 文件(确定 keystore。如果 keystore 使用私有项目地址,则使用当前用户身份下载。如果没有设置或者不存在私有项目地址及权限错误,则生成随机签名用来构建)。

  4. 读取 gradle/wrapper/gradle-wrapper.properties 文件, 确定使用的 gradle 版本,下载并解压。

  5. 进入子项目目录。如果没有定义,即为项目根目录。

  6. 读取子项目中 build.gradle 文件,修改其中的 signingConfigs section 和 buildTypes section,以确保使用正确的签名和构建版本。

  7. 构建成功,上传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 settings
signingConfigs {
    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 项目使用步骤

  1. 设置项目的语言为Android。

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

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

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

  1. 构建过程。

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

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

码云Android项目构建注意事项(转载)的更多相关文章

  1. 2017 年度码云新增项目排行榜 TOP 50,为它们打“call”

    2017 年度码云新增项目排行榜 TOP 50 正式出炉 !2017 结束了,我们来关注一下这一年里码云上新增的最热门的开源项目吧.此榜单根据 2017 年在码云上新增开源项目的 Watch.Star ...

  2. 使用Git将项目托管到码云及从码云导入项目到本地

    前言 码云+Git+IntellJ IDEA 欢迎转载,请注明作者和出处哦☺ Git 的安装及使用的教程 ​​​​ 最好不要在官网下载,官网下载要vpn而且速度还很慢 . 推荐在 https://gi ...

  3. 2018 年度码云热门项目排行榜 TOP 10

    2016 年度码云热门项目排行榜 TOP 10 是通过开源项目2016年在码云上的 Watch.Star.Fork 数量来评定的榜单.码云平台发展至今,涌现了越来越多优秀的开源项目,越来越多的开源作者 ...

  4. 在Windows下使用Git+TortoiseGit+码云管理项目代码

    1.      安装Git 下载地址:点击打开链接 安装指南:默认选项即可 2.      安装TortoiseGit 下载地址:点击打开链接 安装指南:点击打开链接 3.      在码云创建账号, ...

  5. 谷歌开源项目Chromium的源码获取与项目构建(Win7+vs10/vs13)

    转自:http://blog.csdn.net/kuerjinjin/article/details/23563059 从12年那会儿开始获取源码和构建chromium项目都是按照那时候的官方要求用w ...

  6. 使用TortoiseGit+码云管理项目代码

    1.下载安装msysgit. 2.下载安装tortoisegit. 3.创建ssh密钥. 开始–所有程序–TortoiseGit–PuTTYgen 生成方法:点击“Generate”后,鼠标在key下 ...

  7. idea中git从码云克隆项目到本地

    1.首先需要在操作系统上安装Git分布式管理系统 此处自行百度............. 2.在Intellij IDEA中配置Git 打开Settings(File-->Settings) - ...

  8. eclipse导入码云-GIT项目

    1.首先找到项目源码地址我随便找到一个git地址 :https://gitee.com/mingSoft/MCMS 2.打开eclipse空白处右键导入项目搜索git. 3.将第一步复制的git地址复 ...

  9. 通过git从码云克隆项目到本地

    1.下载安装Git,傻瓜式下一步下一步即可... 2.配置Git: 2.1.选择你要clone到本地的路径:右键--->$ Git Bash Here,弹出Linux命令窗口:$ cd ~直接回 ...

随机推荐

  1. 浅谈iOS与社交化网络

    CHENYILONG Blog 社交化网络 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong  ...

  2. 【Java】SSM框架整合 附源码

    前言 前面已经介绍Spring和Mybatis整合,而本篇介绍在IDEA下Spring.Spring MVC.Mybatis(SSM)三个框架的整合,在阅读本篇之前,建议大家先去了解一下Spring. ...

  3. 无需登录-悟空CRM 存储型XSS

    无需登录-悟空CRM 存储型XSS 审计悟空的缘由是看见某云爆出CRM的getshell,于是就想着去挖出来瞅瞅!但可能自己把自己给局限了,就想着去挖那些无限制访问的文件. 故事的发生点 漏洞文件:/ ...

  4. 20165230 2017-2018-2 《Java程序设计》第7周学习总结

    20165230 2017-2018-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十一章 JDBC与MySQL数据库 本周了解了如何在Java程序中使用JDBC语提供的AP ...

  5. Linux内核跟踪之trace框架分析【转】

    转自:http://blog.chinaunix.net/uid-20543183-id-1930846.html   ---------------------------------------- ...

  6. 十七、springboot配置FastJson为Spring Boot默认JSON解析框架

    前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependen ...

  7. Scrapy:运行爬虫程序的方式

    Windows 10家庭中文版,Python 3.6.4,Scrapy 1.5.0, 在创建了爬虫程序后,就可以运行爬虫程序了.Scrapy中介绍了几种运行爬虫程序的方式,列举如下: -命令行工具之s ...

  8. Java项目打war包的方法

    我们可以运用DOS命令来手工打war包: 首先,打开DOS命令行,敲入“jar”,我们发现它提示不是内部或外部的命令这样的错误,这时八成是你的JAVA环境没有配置好,我们可以用JAVA_HOME方式或 ...

  9. JS、JQ实现焦点图轮播效果

    JS实现焦点图轮播效果 效果图: 代码如下,复制即可使用: (不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦) <!DOCTYPE html> <html> ...

  10. sem_open中信号量命名

    问题: sem_open will failed with "No such file or directory"   解释1: 这是由于在Linux内核中,创建信号量的默认路径是 ...