# 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 |
