React Native 앱의 버전 번호를 업데이트하는 방법
Android에서 React 네이티브를 사용하고 있습니다. 앱에서 버전 번호를 업데이트하려면 어떻게해야합니까? 이 오류가 발생합니다.
이 URL https://facebook.github.io/react-native/docs/signed-apk-android.html에 따라 파일을 생성하고 있습니다.
AndroidManifest.xml 파일 수정을 시도했지만 빌드 한 후 해당 파일이 자동으로 다시 수정됩니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.facebook.react"
android:versionCode="1"
android:versionName="1.0" >
여기에서 XML을 수정했습니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.facebook.react"
android:versionCode="2"
android:versionName="1.1" >
이후 빌드 파일이 자동으로 다시 변경됩니다.
당신은 변화해야 versionCode
하고 versionName
에 android/app/build.gradle
:
android {
defaultConfig {
versionCode 1
versionName "1.0"
{...}
}
{...}
}
@Joseph Roque가 정확합니다 android/app/build.gradle
. 에서 버전 번호를 업데이트해야합니다 .
이 작업을 자동화하고 패키지 버전 package.json
과 git 커밋 에 연결하는 방법은 다음과 같습니다 .
에서 android/app/build.gradle
:
/* Near the top */
import groovy.json.JsonSlurper
def getNpmVersion() {
def inputFile = new File("../package.json")
def packageJson = new JsonSlurper().parseText(inputFile.text)
return packageJson["version"]
}
/* calculated from git commits to give sequential integers */
def getGitVersion() {
def process = "git rev-list master --first-parent --count".execute()
return process.text.toInteger()
}
......
def userVer = getNpmVersion()
def googleVer = getGitVersion()
android {
...
defaultConfig {
.....
versionCode googleVer
versionName userVer
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
메모:
It's important that
versionCode
is an integer - so we can't use semantic versioning here. This is used on the play store to tell which versions come after others - that's why it's tied to git commits ingetGitVersion
versionName
however is shown to users - I'm using semantic versioning here and storing the real value in mypackage.json
. Thanks to https://medium.com/@andr3wjack/versioning-react-native-apps-407469707661
I stumbled on this while searching from google, and none of the answers suited me since I wanted to automate the process.
For those wanting to automate this, and have iOS at the same time, you can use react-native-version to set the version numbers.
설치가 완료되면 package.json 파일 내에서 버전을 업데이트 하고 스크립트를 실행할 수 있습니다.
$ yarn postversion
$ react-native-version --never-amend
[RNV] Versioning Android...
[RNV] Android updated
[RNV] Versioning iOS...
[RNV] iOS updated
[RNV] Done
✨ Done in 0.39s.
이것이 다른 사람들에게 도움이되기를 바랍니다.
app.json 에서 versionCode
아래 android
를 설정하십시오 .
{
"expo": {
"name": "App Name",
...
"android": {
"package": "com.app.name",
"permissions": [],
"versionCode": 2
}
}
}
참고 URL : https://stackoverflow.com/questions/35924721/how-to-update-version-number-of-react-native-app
'IT박스' 카테고리의 다른 글
html이 아닌 php 파일에 대한 500 내부 서버 오류 (0) | 2020.11.16 |
---|---|
URL에서 비트 맵으로 Android로드 (0) | 2020.11.16 |
유효한 CSS로 IE7 및 IE8을 어떻게 타겟팅합니까? (0) | 2020.11.16 |
pip 제거를위한 확인 프롬프트 무시 (0) | 2020.11.16 |
속성의 이름이 유형과 같아야합니까? (0) | 2020.11.15 |