zoukankan      html  css  js  c++  java
  • reactnative android/ios 根据配置文件编译时自动修改版本号

    开发react-native时大都有过这个操作,当版本迭代时候要修改app版本号时,一般都这样做

    Android

    的要修改build.gradle文件的versionName

     

    ios:

    打开xcode修改Info.plist的Bundle versions string, short

    这过程特别繁琐。。。无法忍受

    接下来,稍微改一下,让每次编译的时候自动从配置文件读取并写入相应的地方

    首先,先在package.json配置版本

    {
      "name": "you app name",
      "version": "1.0.1"
    }
    

      

    Android:

    直接在./android/app/build.gradle进行修改,这样每次编译就会自动读取并写入

    //获取配置文件的版本信息
    
    def getAppVersion() {
        def inputFile = new File("../package.json")
        def packageJson = new JsonSlurper().parseText(inputFile.text)
        return packageJson["version"]
    }
    
    def appVersion = getAppVersion()
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.1"
    
        defaultConfig {
            versionName appVersion
        }
    }
    

      

    IOS:

    ios并没有像build.gradle这样的文件,所以要想其他法子

    打开xcode,TARGETS->Build Phases->添加Run Script

    添加sell代码

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

      

    OK,搞定!  

  • 相关阅读:
    构建之法阅读笔记02
    4.7-4.13 第八周总结
    构建之法阅读笔记01
    顶会热词统计
    结对作业-四则运算升级版
    3.31-4.5 第七周总结
    大道至简阅读笔记03
    3.23-3.30 第六周总结
    第7周总结
    人月神话阅读笔记之三
  • 原文地址:https://www.cnblogs.com/chriiess/p/8652166.html
Copyright © 2011-2022 走看看