比較遠端版本和當前版本的區別(可以使用庫,也可以自己寫乙個比較方案)
* 比較兩版本號
* @param currentversion
* @return boolean
* true=需要更新 false=不需要
*/compareversion = (currentversion: string): boolean => = this.remoteinfo || {}
if (!remoteversion)
if (currentversion === remoteversion)
const currentversionarr = currentversion.split('.')
const remoteversionarr = remoteversion.split('.')
for (let i = 0; i < 3; i++)
} return false
}public void installapk(string filepath, string fileproviderauthority)
if (build.version.sdk_int >= 24) catch (exception e)
} else catch (exception e)
intent intent = new intent(intent.action_view);
intent.addflags(intent.flag_activity_new_task);
reactcontext.startactivity(intent);
}}在打包時, 通過指令碼更新介面或者檔案資訊, 當然這個得看具體的打包方案
比如我現在的方案是使用 jenkins 打包, 在打包時使用 shell 指令碼更新對應資訊(有需要也可以使用其他語言指令碼):
iosversionfilepath="$workspace/ios/veronica/info.plist" // 通過此檔案獲取ios的版本資訊
changelogpath="$workspace/change.log" // 將版本更新資訊儲存在此檔案中
通過檔案位址, 獲取打完包後的版本資訊
getandroidversion()' | sed 's/\"//g')
androidcode=$(cat $androidversionfilepath | grep "versioncode " | awk '' | sed 's/\"//g')
return 0
}getiosversion()' $iosversionfilepath)
iosversion=$(echo "$rows" | sed -ne 's/\(.*\)/\1/p')
iosversion=$(echo "$iosversion" | sed 's/^[[:space:]]*//')
rows2=$(awk '/versioncode/ ' $iosversionfilepath)
ioscode=$(echo "$rows2" | sed -ne 's/\(.*\)/\1/p')
ioscode=$(echo "$ioscode" | sed 's/^[[:space:]]*//')
return 0
}desc=$(cat $changelogpath | tr "\n" "#")
替換現有檔案中的資訊:
sed -i '' "s/\"releaseinfo\":.*$/\"releaseinfo\": \"$desc\"/" $jsonpath/$filename
sed -i '' "s/\"versionname\":.*$/\"versionname\": \"$versionname\",/" $jsonpath/$filename
sed -i '' "s/\"versioncode\":.*$/\"versioncode\": \"$versioncode\",/" $jsonpath/$filename
我的檔案是以 json 作為格式的,說明文字是可以任意填寫的,會觸發一些解析問題:
完
React Native使用原生UI元件
其實,如果android接入rn已經搞好了,這個就不難弄了,都是類似的,下面先大致介紹一下如何使用原生ui元件的,如下 public class nativepaintviewmanager extends viewmanager override protected mypaintview cre...
ReactNative整合到原生專案
reactnative整合到原生專案 1 在工程裡建立乙個reactcomponent資料夾,用來存放reactnative相關的檔案 2 reactcomponent資料夾裡,存放以下檔案 3 其中package.json檔案是關於reactnative的配置資訊,最好自己init乙個專案然後將專...
原生iOS專案匯入ReactNative,各種問題
xcode select print path library developer commandlinetools xcodebuild showsdks xcode select error tool xcodebuild requires xcode,but active developer ...