Подтвердить что ты не робот

Как обновить номер версии реагировать на собственное приложение

Я использую React native с Android. Как я могу обновить номер версии в приложении? Когда я получаю эту ошибку.

Я создаю файл согласно этому 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" >

После этого файл сборки автоматически изменится.

введите описание изображения здесь

4b9b3361

Ответ 1

Вы должны изменить свои versionCode и versionName в android/app/build.gradle:

android {

    defaultConfig {

        versionCode 1
        versionName "1.0"

        {...}
    }

    {...}
}

Ответ 2

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

Примечания:

  • Важно, чтобы versionCode было целым числом, поэтому мы не можем использовать семантическое управление версиями. Это используется в магазине воспроизведения, чтобы сообщить, какие версии приходят за другими, - поэтому привязка к git завершается в getGitVersion

  • versionName, однако, отображается пользователям - я использую семантическое управление версиями здесь и сохраняю реальное значение в своем package.json. Благодаря https://medium.com/@andr3wjack/versioning-react-native-apps-407469707661

Ответ 3

Я наткнулся на это во время поиска в Google, и ни один из ответов мне не подошел, так как я хотел автоматизировать процесс.

Для тех, кто хочет автоматизировать это и одновременно иметь iOS, вы можете использовать response-native-version для установки номеров версий.

После установки вы можете просто обновить свою версию в файле 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.

Я надеюсь, что это может помочь другим.