react-native android/ios 手动/自动 修改版本号

一 手动操作

1. Android

修改 android/app/build.gradle 文件的 versionName

defaultConfig {     
  ...    
  versionName "2.0.0"
  ... 
}

2. IOS

用xcode打开 PROJECT_NAME.xcodeproj ,修改 PROJECT_NAME/Info.plistBundle versions string, short

二 自动从配置文件读取并写入相应的地方

1. package.json 配置版本

{ 
   ...
   "version": "1.0.1", 
   ... 
}

2. Android:

修改 android/app/build.gradle 文件,这样每次编译就会自动读取并写入

//获取配置文件的版本信息
defgetAppVersion() {    
  definputFile= newFile("../package.json")     
  defpackageJson= newJsonSlurper().parseText(inputFile.text)     
  return packageJson["version"] 
}  

defappVersion= getAppVersion()  

android {    
   ...    
   defaultConfig {         
     versionName appVersion     
   } 
}

3。 IOS:

因为ios没有像 build.gradle 这样的文件,所以用xcode打开 PROJECT_NAME.xcodeproj ,修改 PROJECT_NAME => TARGETS -> Build Phases ->添加 Run Script

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}"

16122a1ed5e9f2f5ac86f34908d128e5-170FA700-4B22-4450-AE92-CBAAA300CC52.png