# Android 端
# 输出范围
应用程序安装并运行在支持Android操作系统的设备
应用程序发布到国内主流应用商店 应用上架流程
应用程序测试体验版发布在 FIR托管平台 (opens new window)
# 项目构建
探索Android Studio (opens new window),构建Android APK使用 Gradle (opens new window) 工具包来自动执行和管理构建流程
# 配置应用
android {
defaultConfig {
applicationId = "your.package.name" // 应用ID
minSdk = 21 // 最低API 21,对应Android 5.0
targetSdk = 30 // 目标SDK
versionCode = 10000 // 版本号(递增)
versionName = "1.0.0" // 版本名称
}
...
}
# 配置变体
通过 productFlavors
定义变体内容,配合构建类型buildTypes
,构建不同类型组合的应用程序
可构建的应用:devDebug
、devRelease
、testDebug
、testRelease
、paasDebug
、paasRelease
android {
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
signingConfig signingConfigs.release
debuggable true
minifyEnabled true // 开启混淆
shrinkResources true // 移除无用的resource文件
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
productFlavors {
// 开发环境
tl_paas_dev {
dimension 'paas'
applicationId 'com.mmm.paas'
buildConfigField "String", "BASE_URL", "\"https://dev.fjmaimaimai.com\""
resValue "string", "app_name", "天联共创【开发】"
}
// 测试环境
tl_paas_test {
dimension 'paas'
applicationId 'com.mmm.paas'
buildConfigField "String", "BASE_URL", "\"https://test.fjmaimaimai.com\""
resValue "string", "app_name", "天联共创【测试】"
}
// 生产环境
tl_paas {
dimension 'paas'
applicationId 'com.mmm.paas'
buildConfigField "String", "BASE_URL", "\"https://prd.fjmaimaimai.com\""
resValue "string", "app_name", "天联共创"
}
}
...
}
# 应用签名
菜单栏中,依次点击 Build > Generate Signed Bundle/APK 创建签名文件 xxx.jks
,建议相同公司下使用同一个秘钥库
android {
//签名配置
signingConfigs {
debug {
}
release {
storeFile file('../xxx.jks') // .jks 秘钥库存放路径
storePassword "密钥库密码"
keyAlias "密钥标识名"
keyPassword "密钥密码"
}
}
...
}
# 构建应用
Android 构建系统会编译应用资源和源代码,然后将它们打包到 APK
或 Android App Bundle
中,提供测试、部署、签名和分发
// 构建指令
gradlew assembleDebug // 构建debug包
gradlew assembleRelease // 构建release包
# 自动化部署
通过持续集成工具 Jenkins
,搭建一套适合移动端的自动发布流水线,提高交付效率
涉及到工作事项:
- 分支管理,根据 Git 分支使用规范 执行
- 使用 Mac OS 系统做为Jenkins工具载体(满足IOS编译环境)
- Jenkins 配置、Gogs 钩子、二开插件(钉钉通知)
- fir cli 指令处理
# 测试环境(自动流水线交付)
工作流程: 1.推送分支代码
-> 2.编译构建应用
-> 3.交付到托管平台
-> 4.通知相关人员(钉钉)
示意图:
# 生产环境(手动交付)
遵守公司对产品上线流程管理文件
- 合并测试分支
- 构建应用,交付到测试人员验证
- 验证通过,运维上架应用商店
- 代码创建tag
# 设备版本支持
# 最低版本要求
- 平台版本:Android 5.0 (Lollipop/棒棒糖),于2014年10月发布
- API级别:21
- 全球累计分布:94.1%,中国比例会更高
# 工程仓库
# 项目仓库
- 标准项目 (opens new window)
- 能力展示 (opens new window)(问题、机会、销导、价值、BOSS预约 手机版)
- BOSS预约 Pad版 (opens new window)
- 天联共创 (opens new window)
- 素+订单仓储 (opens new window)
- 冻品买买买 (opens new window)
- 关注事项 Pad版 (opens new window)
# 其它
# 团队仓库
# 开源组件仓库
开发规范 →