# VersionBuilder **Repository Path**: jarlen/version-builder ## Basic Information - **Project Name**: VersionBuilder - **Description**: 基于Grovvy语言编写的Gradle插件,旨在解决应用apk在发布打包时,无法与git(svn)版本控制工程提交记录对应的问题 - **Primary Language**: Android - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 0 - **Created**: 2021-05-18 - **Last Updated**: 2025-08-25 ## Categories & Tags **Categories**: ci **Tags**: None ## README # VersionBuilder ## 介绍 基于Grovvy语言编写的Gradle插件,旨在解决应用apk在发布打包时,无法与git(svn)版本控制工程提交记录对应的问题。 这样做的主要目的是,在多渠道或复杂项目管理中,历史版本问题回溯排查方便。 ## 原理 通过插件的方式,在Android工程构建编译时,hook资源合并过程,并将git(或svn)信息保存在合并后的apk中,不影响打包流程 ## 使用方式 * 添加依赖 ```groovy dependencies { ...... classpath 'cn.jarlen.android.plugin:ApkPgVerPlugin:1.1.2' ...... } ``` * 在主Module的.gradle文件引入脚本 ```groovy apply plugin: 'apk-build-ver-plugin' ``` * 效果 在打包时将如下信息以文件的形式存放在./assets/应用包名.version中(**暂不支持更换路径**)。 | 字段 | 说明 | | ----------- | ------------------------------------------------------------ | | builder | local:本地构建
Jenkins: 远程Jenkins构建;例如 Jenkins build by jarlen | | codeBranch | 代码分支名称(**SVN工程暂不支持**) | | application | 应用包名(applicationId) | | codeSHA | 最后一次提交代码SHA值 | | repManager | GIT:git代码控制工程
SVN:svn代码控制工程
DEFAULT:默认 | | repUrl | 仓库地址 | verName | 应用版本名称VersionName | | verCode | 应用版本号VersionCode | ![](./imgs/img1.jpg)