码云Android项目构建注意事项(转载)
Posted chinalorin2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了码云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 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 项目使用步骤
-
设置项目的语言为Android。
-
进入项目首页会出现【生成apk】按钮。
-
点击【生成apk】按钮,进入构建页面(使用当前用户的身份拉取私有仓库中的 keystore )。
【注意】:如果想使用项目中提供的 keystore(私有仓库地址),请选中该复选框!
-
构建过程。
-
构建完成(提供 apk 下载)。
-
生成随机签名(提供签名信息和 keystore 下载,项目中未提供签名,为方便测试,码云为每个项目生成了随机的签名)。
以上是关于码云Android项目构建注意事项(转载)的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android 中的 Fragment 访问 UI 元素?