apk的用改之理修改版本号_自动build+升级版本号+push的小技巧

744679ff0fb64a39d7197f666dc8156b.png

一句话总结

用NPM Scripts和钩子与Git结合,实现一个自动build+升级版本号+push的小技巧

背景

我们开发一个NPM 包。因是业务组件,需要嵌入到页面中使用,则可能在初版发出后,还需要再有小版本修复。若有修改(常常是一些Bug的修复或API的添加),需要允许一堆指令来完成。

修改完毕文件后
// 构建dist文件
npm run build
// 手动改package.json
增加版本号
// 添加到git暂存区
git add .
// 写入提交信息
git commit -m <commit-msg>
// push到远程仓库
git push
// 发布到npm 库
npm publish

如此多步骤,就没有便捷点的办法吗?

程序员超级想偷懒的好嘛~

所以有以下需求:

1、 利用NPM Script可以通过 && 串联执行的原理,搞个半自动化的script,一个命令直接publish和push完毕,非常干净

2、考虑到每次都可以提交不同的commit-msg

3、不能太难用,最好能有注释

大招给你了

"scripts"

解析

comment是JSON里的注释,告诉别人怎么使用,所以这个命令就是

npm run git -- 'feat: xxxx'

把后面的参数传递给NPM里的git script,完成commit操作。

在postgit自动钩子里,做版本升级,然后进行publish和push操作。

npm version patch可以用来升级最小版本号,当然也有升级次版本号的

npm version minor

和主版本号的

npm version major

完美!!!

QA

为什么图是神雕侠侣?因为 Git 和 NPM 很神雕侠侣,黄金搭档。

为什么是杨过和雕?小龙女算我们的。明明杨过和雕兄才是真爱!

你的赞 ,是我持续原创的动力。

--------来自阿里巴巴一名小前端的内心心声

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您介绍一些打包技巧来自定义Android应用程序的版本号和名称。 首先,您可以在项目的 build.gradle 文件中设置 versionCode 和 versionName 属性,以自定义应用程序的版本号和名称。versionCode 是一个整数,用于标识应用程序的版本,而 versionName 是一个字符串,用于显示应用程序的版本名称。 例如,在 build.gradle 文件中添加以下代码: ``` android { defaultConfig { versionCode 1 versionName "1.0" } } ``` 这将设置应用程序的版本号为 1 和版本名称为 "1.0"。 其次,如果您想要根据应用程序的不同渠道或变体来自定义应用程序的名称,您可以使用 Gradle 的 productFlavors 来实现。您可以为每个渠道或变体设置不同的应用程序名称和版本号。 例如,在 build.gradle 文件中添加以下代码: ``` android { defaultConfig { versionCode 1 versionName "1.0" } productFlavors { flavor1 { applicationId "com.example.flavor1" versionCode 1 versionName "1.0-flavor1" } flavor2 { applicationId "com.example.flavor2" versionCode 1 versionName "1.0-flavor2" } } } ``` 这将创建两个不同的变体,flavor1 和 flavor2,每个变体都有不同的应用程序 ID、版本号和名称。 最后,如果您想要自定义打包后的 APK 文件的名称,您可以使用 Gradle 的 buildTypes 和 flavorDimensions 属性来实现。您可以为每个构建类型和变体设置不同的 APK 文件名称。 例如,在 build.gradle 文件中添加以下代码: ``` android { defaultConfig { versionCode 1 versionName "1.0" } buildTypes { release { ... archivesBaseName = "MyApp-Release" } debug { ... archivesBaseName = "MyApp-Debug" } } flavorDimensions "version" productFlavors { flavor1 { applicationId "com.example.flavor1" versionCode 1 versionName "1.0-flavor1" dimension "version" } flavor2 { applicationId "com.example.flavor2" versionCode 1 versionName "1.0-flavor2" dimension "version" } } } ``` 这将为 release 和 debug 两个构建类型分别设置不同的 APK 文件名称,以及为 flavor1 和 flavor2 两个变体设置不同的应用程序 ID、版本号和名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值