Gitee 帮助中心 / 帮助详情

    Gitee Android Build Online(APK在线构建)

    安卓构建环境

    • android-ndk-r19c
    • Apache Maven 3.6.1
    • Apache Ant(TM) version 1.10.5
    • Gradle 6.9.1(未指定版本时使用)
    • Kotlin version 1.3.31
    • OpenJDK version 1.8.0_191

    一、Android 项目构建注意事项

    1、ant项目

    • build.xml 必须位于项目根目录。

    2、maven项目

    • pom.xml 必须位于项目根目录。

    3、gradle项目

    • 由于 gradle 的配置灵活,我们做了一些规范,并且增加了一下机制来处理签名问题。

    二、Android 项目构建示例

    android-app 项目目录结构(以osc/android-app为例)

    输入图片说明

    gradle 需要的配置和脚本有:

    • gradlegradlew.batbuild.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.propertiesconfig/gradle.properties 文件(确定 keystore。如果 keystore 使用私有项目地址,则使用当前用户身份下载。如果没有设置或者不存在私有项目地址及权限错误,则生成随机签名用来构建)。
    4. 读取 gradle/wrapper/gradle-wrapper.properties 文件, 确定使用的 gradle 版本,下载并解压。
    5. 进入子项目目录。如果没有定义,即为项目根目录。
    6. 读取子项目中 build.gradle 文件,修改其中的 signingConfigs sectionbuildTypes 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 使用了绝对路径,用户可设置如下:

    RELEASE_STORE_FILE=http://gitee.com/your/private-project/blob/ref/path-to-keystore

    4、关于 app/build.gradle

    输入图片说明

    签名设置也可采用如下形式:

    //signing files settings
    signingConfigs {
        debug {
            #相对路径且存在;否则使用Git@OSCkeystore(绝对路径构建失败)
            storeFile file("your_secret.keystore")
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
        release {
            #网路地址存在;否则使用Git@OSCkeystore
            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"
        }
    }

    三、Gitee Android 项目使用步骤

    1. 设置项目的语言为Android。
      输入图片说明

    2. 进入项目首页会出现【生成apk】按钮。
      输入图片说明

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

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

    1. 构建过程。
      输入图片说明

    2. 构建完成(提供 apk 下载)。
      输入图片说明

    3. 生成随机签名(提供签名信息和 keystore 下载,项目中未提供签名,为方便测试,Gitee 为每个项目生成了随机的签名)。
      输入图片说明

    搜索帮助