devtool.sh 脚本:

#!/usr/local/bin/bash -e########################################## Main#########################################function doBuildApk (){  echo "========================================"  echo "Build apk begin ..."  echo "========================================"  cd ..  fastlane do_pack_apk  echo "========================================"  echo "Build apk OK."  echo "========================================"}########################################## LEGU Reinforce#########################################function doLegu (){  echo "========================================"  echo "LEGU Reinforce Begin ..."  echo "========================================"  cd libs  java -jar leguapi.jar skey sid ../build/outputs/apk/xxx.apk ../build/outputs/apk}########################################## Rename apk#########################################function doRename (){  echo "========================================"  echo "Rename Apk Begin ..."  echo "========================================"  cd build/outputs/apk  mv xxx_legu.apk xxx.apk  cd ../../../..  echo "========================================"  echo "Rename Apk OK."  echo "========================================"}########################################## Sign Again#########################################function doSign (){  echo "========================================"  echo "Sign Begin ..."  echo "========================================"  jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keypass {密码} -storepass {密码} -keystore {签名文件}(keystore.jks) build/outputs/apk/xxx.apk keystore  echo "========================================"  echo "Sign OK."  echo "========================================"}########################################## Login beta fir.im#########################################javafunction doLoginBetaFirim(){  echo "========================================"  echo "Login beta fir.im begin ..."  echo "========================================"  fir login {API token}  echo "========================================"  echo "Login beta fir.im OK."  echo "========================================"}########################################## Login stag fir.im#########################################javafunction doLoginStagFirim(){  echo "========================================"  echo "Login stag fir.im begin ..."  echo "========================================"  fir login {API token}  echo "========================================"  echo "Login stag fir.im OK."  echo "========================================"}########################################## Login release fir.im#########################################function doLoginReleaseFirim(){  echo "========================================"  echo "Login release fir.im begin ..."  echo "========================================"  fir login {API token}  echo "========================================"  echo "Login release fir.im OK."  echo "========================================"}########################################## Upload apk to fir.im#########################################function doUploadApk2Firim(){  echo "========================================"  echo "UpLoad apk to fir.im begin ..."  echo "========================================"  fir publish --changelog='changelog'  build/outputs/apk/xxx.apk  echo "========================================"  echo "UpLoad apk to fir.im OK."  echo "========================================"}########################################## Process Args#########################################COMMAND=$1echo "Ready Go !"shift 1 || truecase "${COMMAND}" in  build)    doBuildApk    ;;  reinforce)    doLegu    ;;  rename)    doRename    ;;  sign)    doSign    ;;  beta:login)    doLoginBetaFirim    ;;  stag:login)    doLoginStagFirim    ;;  release:login)    doLoginReleaseFirim    ;;  upload)    doUploadApk2Firim    ;;esac

其中,build 是用 fastlane 实现的,Fastfile 中

 desc "Do pack an apk to common flavor"  lane :do_pack_apk do |options|    gradle(task: "clean")    gradle(task: "assemble")    gradle(build_type: "Release")  end

,上传 fir.im 是用 fir-cli 插件实现的。

发布版本时,执行脚本自动化命令:

1、流程:

自动化构建(fastlane)、腾讯乐固加固、重命名 apk、重新签名、登录 fir.im 、上传 apk:

进入 devtool 的根目录下(devtool.sh 文件右下方必须为 LF)

cd xxx./devtool.sh build./devtool.sh reinforce./devtool.sh rename./devtool.sh sign./devtool.sh beta:login  或  ./devtool.sh release:login 或  ./devtool.sh stag:login./devtool.sh upload

更多相关文章

  1. java.lang.OutOfMemoryError: GC overhead limit exceeded解决
  2. Android(安卓)adb monkey 测试命令
  3. android 项目 gradle 命令
  4. 用命令行使用7z压缩
  5. Android(安卓)app 自动化测试(Appium+MacOS)【占坑待续】
  6. Ubuntu16.04上Android(安卓)N开发环境配置
  7. 【黑马Android】(13)Linux操作系统/cron计划任务
  8. Ubuntu10.10下Android真机调试
  9. Pro Android学习笔记(五):了解Content Provider(上)

随机推荐

  1. Gradle:Basic Project
  2. Android获取默认浏览器信息
  3. Android Wear Preview - Get Started Wit
  4. Android 本地推送消息到通知栏 Notificat
  5. Mono登录界面记住密码的控件
  6. android 源码编译同步的小问题
  7. 【android】时间选择器
  8. Android 简单音乐播放器(破烂版,后续更新)
  9. 解决Android studio 启动报错java.lang.R
  10. Android DHT11驱动