-
Notifications
You must be signed in to change notification settings - Fork 11
ReleaseProcedure
Wang Xuerui edited this page Nov 8, 2013
·
1 revision
- 确保应用工作正常
- 测试套件 all pass (如果有的话-_-)
- Android 2.3 (API 9)
- Android 4.1 (API 16)
- Android 4.2 (API 17)
- Android 4.3 (API 18)
- Android 最新版
- 最好使用真机进行调试, 如果没有相应版本设备的话用模拟器代替也行
- 评判标准
- 尽量贴近安卓官方文档描述的应用质量评价核心标准
- 适当容许中国用户与平台约定不一致的操作习惯但不要纵容
- 强调: 绝不允许 ANR (应用程序无响应) 出现在正常操作中, 这个问题竞争对手和人人网等大牌 app 都有, 我们不能有
分两步, 先在 Cytosol 库切出 release, 再切这里. 然后更新可发布资源库里的升级信息, 告知更新.
cd path/to/Cytosol
git flow release start z.0 # z.0 是版本号, 自己取
# 冻结依赖关系, 当前来讲主要是 SlidingMenu
cd deps/SlidingMenu
git rev-parse HEAD # 这个是 SlidingMenu 库当前 HEAD 的 commit id
cd ..
vim update-deps.sh # 编辑 smenu_ver 成刚才的 commit id, 编辑 smenu_pull 为 false
git add update-deps.sh
git commit -m 'freeze dep version'
cd ..
# 去掉所有的 -SNAPSHOT 后缀, 如果有的话
vim pom.xml
vim cytosol/pom.xml
vim cytosol/AndroidManifest.xml
git add pom.xml cytosol/pom.xml cytosol/AndroidManifest.xml
git commit -m 'prepare z.0'
# 结束发布分支
git flow release finish z.0
# Tag message 写 Version z.0
# bump 版本号, 解冻依赖关系
vim pom.xml # 提升版本号, 加上 -SNAPSHOT
vim cytosol/pom.xml # 同上
vim cytosol/AndroidManifest.xml # 版本 id 和版本号
git commit -m 'bump version to w.0' # 把 w.0 换成你选的版本号
vim deps/update-deps.sh # 把刚刚改掉的两个值换回原来的 master 和 true
git commit -m 'release dep version freeze'
# 推
git push origin master
git push origin stable
git push --tags
其实也差不多... 把上边的 SlidingMenu 自行换成 Cytosol 即可, 不过不要用 commit id 指代固定版本, 而是用你刚才新发布的 tag 指定. 还有提交信息在这里可以用汉语, 准备 x.y 版
冻结依赖关系版本
bump version to x.z
bump Cytosol 依赖版本到 w.0
解放依赖关系版本
之类的.
主要流程:
git flow release start x.y
- 冻结 Cytosol 版本, 提交一次
- 从 AndroidManifest 和几个 POM 中去掉 -dev 后缀, 提交一次
-
git flow release finish x.y
Tag message 还是Version x.y
简单一行 - bump version, bump Cytosol 版本, 恢复
update-deps.sh
设置, 提交 - 推
# 先编译出来一个 tag 好的版本
cd path/to/jnrain-android/deps
./update-deps.sh
cd ..
mvn clean package -Ddebug=0 # 这是打开优化和混淆的设置, 文件比较小. 如果不是很自信请去掉 -Ddebug=0...
# 回到开发分支
git checkout master
# 发布
cd path/to/shippables
# apk 名字可能会变 (1.0 版开签名需要用户显式重新安装什么的), 以当时的包名字为准
cp path/to/jnrain-android/app/target/jnrain-android-x.y-aligned.apk android/jnrain-android-x.y.apk
# 写更新信息, 仿照之前的格式写
vim updates/android.json
# 推
git add android/jnrain-android-x.y.apk updates/android.json
git commit -m '添加 jnrain-android-x.y'
git push
- 去 issue-tracker 开 issue 讨论发布公关之类的问题