Changelog
[3.0.0] - 2023-10-15
Added
- 新增AndroidX全面支持
- 添加
PermissionRequest构建器API
Changed
- 重构权限检查逻辑,性能提升40%
requestPermissions方法参数优化
Removed
- 移除对Android Support Library的支持
- 废弃
EasyPermissions.PermissionCallbacks接口
Fixed
- 修复Android 12上权限对话框不显示问题
### 2.2 变更类型分类标准
| 变更类型 | 说明 | 常用前缀 |
|---------|------|---------|
| Added | 新功能 | feat: |
| Changed | 功能变更 | refactor: |
| Deprecated | 即将移除的功能 | deprecate: |
| Removed | 已移除的功能 | remove: |
| Fixed | 缺陷修复 | fix: |
| Security | 安全修复 | security: |
## 三、Gradle版本管理自动化实现
### 3.1 单源版本控制方案
创建`version.gradle`统一管理所有模块版本:
```groovy
ext {
versions = [
easyPermissions: [
code: 1,
name: "3.0.0"
],
// 依赖库版本
androidx = [
appcompat: "1.1.0",
core: "1.3.0"
]
]
}
在主项目build.gradle中引用:
apply from: "${rootDir}/version.gradle"
allprojects {
project.ext.versions = rootProject.ext.versions
}
在库模块中使用:
android {
defaultConfig {
versionCode versions.easyPermissions.code
versionName versions.easyPermissions.name
}
}
dependencies {
api "androidx.appcompat:appcompat:${versions.androidx.appcompat}"
}
3.2 版本号验证任务
添加Gradle任务确保版本格式符合规范:
task validateVersion {
doLast {
def versionPattern = ~/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+)?(\+[0-9A-Za-z-]+)?$/
if (!versions.easyPermissions.name.matches(versionPattern)) {
throw new GradleException("版本号格式错误: ${versions.easyPermissions.name}")
}
}
}
preBuild.dependsOn validateVersion
四、版本发布工作流
4.1 发布前检查清单
### 发布前必须完成的7项检查
- [ ] 所有测试通过 (`./gradlew test`)
- [ ] 版本号已按规范递增
- [ ] CHANGELOG.md已更新
- [ ] API文档无缺失 (`./gradlew dokkaHtml`)
- [ ] 兼容性测试覆盖minSdkVersion(14)和targetSdkVersion(30)
- [ ] GPG签名配置正确
- [ ] Maven Central凭证有效
4.2 发布流程时间线
五、版本控制最佳实践与陷阱规避
5.1 版本控制决策树
flowchart TD
A[变更类型?] -->|不兼容API变更| B[主版本号+1]
A -->|向后兼容新功能| C[次版本号+1]
A -->|向后兼容修复| D[修订号+1]
B --> E[更新CHANGELOG中"Removed"部分]
C --> F[更新CHANGELOG中"Added"部分]
D --> G[更新CHANGELOG中"Fixed"部分]
E & F & G --> H[提交版本更新PR]
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



