安卓构建环境
build.xml
必须位于项目根目录。pom.xml
必须位于项目根目录。gradle 需要的配置和脚本有:
gradle
、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以上版本)。settings.gradle
文件,找到子项目的路径。gradle.properties
或 config/gradle.properties
文件(确定 keystore。如果 keystore 使用私有项目地址,则使用当前用户身份下载。如果没有设置或者不存在私有项目地址及权限错误,则生成随机签名用来构建)。gradle/wrapper/gradle-wrapper.properties
文件, 确定使用的 gradle 版本,下载并解压。build.gradle
文件,修改其中的 signingConfigs section
和 buildTypes section
,以确保使用正确的签名和构建版本。gradle 使用的 gradle.properties
必须位于项目根目录,为了不让开发者本地项目中的 gradle.properties
上传到线上仓库,
可将该文件加入到 .gitignore
中,然后在 config/gradle.properties
配置 android 构建需要的 keystore 信息,配置可参考
上图。
私有的 keystore 存储在私有仓库,从而保证了签名文件的安全。如果用户根目录下存在 gradle.properties
文件,则不再读取 config/gradle.properites
。注明: osc/android-app 项目中 config/gradle.properties
使用了绝对路径,用户可设置如下:
RELEASE_STORE_FILE=http://gitee.com/your/private-project/blob/ref/path-to-keystore
app/build.gradle
:签名设置也可采用如下形式:
//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。
进入项目首页会出现【生成apk】按钮。
点击【生成apk】按钮,进入构建页面(使用当前用户的身份拉取私有仓库中的 keystore )。
【注意】:如果想使用项目中提供的 keystore(私有仓库地址),请选中该复选框!
构建过程。
构建完成(提供 apk 下载)。
生成随机签名(提供签名信息和 keystore 下载,项目中未提供签名,为方便测试,Gitee 为每个项目生成了随机的签名)。