react native - 如何动态修改版本号

1、在package.json里修改版本号

{ "name": "xxx","version": "2.0.0","versionCode": 127,"private": true,"scripts": {...},...}

2、Android 动态获取版本号

修改文件 android/app/build.gradle

import ...

...

def getAppVersion() {

      def inputFile = new File("../package.json")

      def packageJson = new JsonSlurper().parseText(inputFile.text)

      return packageJson

}

def appVersion = getAppVersion()

...

android {

...

     defaultConfig {

     ...

         versionCode appVersion["versionCode"]

         versionName appVersion["version"]

      ...

   }

...

}

3、IOS动态获取版本号

按照以下的路径(如图所示)

xcode -> xxxproject.xcodeproj->Build Phases -> New Run Script Phase

编辑以下代码

PACKAGE_VERSION=$(cat ../package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]')

/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $PACKAGE_VERSION" "${PROJECT_DIR}/${INFOPLIST_FILE}"

BUILD_NUMBER=$(cat ../package.json | grep versionCode | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]')

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "${PROJECT_DIR}/${INFOPLIST_FILE}"

xcode的图示

4、重新打包

xcode需要重新运行,app就可以获取最新的版本号了。后续只需要修改package.json里的版本号然后重新打包就可以更新版本号。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容