添加 GPL-3.0 许可证、贡献者公约行为准则、贡献指南、Issue/PR 模板以完善 GitHub 社区健康度(28%→100%) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
贡献指南
感谢您对 Android Backup GUI 的关注!欢迎通过 Issue 和 Pull Request 参与贡献。
目录
开发环境
- JDK: 17+
- Android SDK: API 34(targetSdk 34, minSdk 24)
- IDE: Android Studio Hedgehog+ 或 IntelliJ IDEA
- Gradle: 8.2(通过 Gradle Wrapper 自动使用)
首次构建
# 克隆仓库
git clone https://github.com/sakuradairong/android-backup-gui.git
cd android-backup-gui
# 确认 Android SDK 路径(创建 local.properties 如果不存在)
echo "sdk.dir=/path/to/Android/Sdk" > local.properties
# 构建 debug APK
./gradlew assembleDebug
构建项目
# 运行 lint 检查
./gradlew lint
# 运行单元测试
./gradlew test
# 构建 release APK(需配置签名)
./gradlew assembleRelease
注意: Release 构建需要
app/release.keystore文件,以及KEYSTORE_PASSWORD和KEY_PASSWORD环境变量。开发调试请使用assembleDebug。
提交 Issue
Bug 报告
请确保包含以下信息:
- 设备信息: Android 版本、设备型号、是否 root
- 环境: restic 版本(如有)、root 方案(Magisk / KernelSU / APatch)
- 复现步骤: 详细的操作步骤
- 预期行为: 您期望发生什么
- 实际行为: 实际发生了什么
- 日志: 相关的 logcat 输出或错误截图
功能请求
请说明:
- 使用场景: 这个功能解决什么问题
- 期望方案: 期望的行为或交互方式
- 替代方案: 您考虑过的其他方案
提交 Pull Request
- Fork 本仓库
- 创建功能分支:
git checkout -b feature/your-feature - 确保代码通过 lint 和测试:
./gradlew lint test - 提交变更:
git commit -m "feat: 简洁描述变更内容" - 推送到您的 Fork:
git push origin feature/your-feature - 创建 Pull Request 到
main分支
PR 要求
- 每个 PR 专注于一个功能或修复
- 提交信息遵循 Conventional Commits 规范
- 新增功能应包含对应的单元测试
- UI 变更请在 PR 描述中附上截图
- 确保
./gradlew lint test通过
代码风格
- 使用 Kotlin 官方代码风格(Kotlin Coding Conventions)
- 使用
ktlint检查代码格式(./gradlew lint包含) - compose 相关代码遵循 Jetpack Compose 编码规范
- 命名使用直观的英文(不推荐拼音)
- 对复杂逻辑编写简明注释
许可
贡献即表示您同意您的贡献将在 GPL-3.0 许可下发布。