Android Studio Git自动发版功能实现

本文介绍了如何在Android Studio中结合git工具自动管理版本。首先,通过androidGitVersion插件自动生成versionCode和versionName,依赖git tag提交。接着配置.gitlab-ci.yml文件,确保仅在tag push时执行构建和部署操作。最后,部署.sh脚本用于生成版本更新信息JSON,供apk检查更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置androidGitVersion,通过它可以自动生成versionCode和versionName(注:需要通过git tag 的方式提交才会生成)

1、在项目build.gradle文件中引入androidGitVersion

需要先把maven { url "https://plugins.gradle.org/m2/" } 加入repositories中
然后导入 classpath "gradle.plugin.com.gladed.gradle.androidgitversion:gradle-android-git-version:4.0.7

2、在主module中添加

apply plugin: 'com.gladed.androidgitversion'

二、.gitlab-ci.yml文件配置(配置脚本运行的环境,主要在指定目录生成apk包,并配置build和deploy的运行条件,此处只有在tag push的时候才进行huild和deploy操作)

variables:
  ANDROID_HOME: /home/runner/opt/android_sdk
  ANDROID_NDK_HOME: /home/runner/opt/android_ndk

stages:
  - build
  - deploy

assembleRelease:
  stage: build
  script: ./gradlew assembleRelease
  artifacts:
    paths:
      - app/build/outputs/apk/a/release/*
  only:
    - tags

deploy:
  stage: deploy
  script: ./script/deploy.sh
  only:
    - tags

三、deploy.sh文件配置(在指定地址生成版本更新信息的json串,apk通过获取它来判断是否有新的更新)

#!/bin/bash

./gradlew --quiet androidGitVersion | sed 's/androidGitVersion.name/version/' \
 | sed 's/androidGitVersion.code/versionCode/' \
 | awk 'BEGIN{print "{"} {printf "%s\"%s\":\"%s\"",sep,$1,$2; sep=",\n"} END{print "\n}"}' > update.json
scp app/build/outputs/apk/a/release/*.apk ubuntu@192.168.1.1:/var/www/html/b/apk/
scp update.json ubuntu@192.168.1.1:/var/www/html/b/apk/

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值