2016-03-10 35 views
39

Sto usando React nativo con Android. Come posso aggiornare il numero di versione nell'app? Come sto ricevendo questo errore.Come aggiornare il numero di versione dell'app react native

sto lima generando come da questo URL https://facebook.github.io/react-native/docs/signed-apk-android.html

ho cercato di modificare file di AndroidManifest.xml, ma dopo che ho costruirlo, che file viene automaticamente modificato indietro.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.facebook.react" 
    android:versionCode="1" 
    android:versionName="1.0" > 

Qui, ho modificato il codice XML:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.facebook.react" 
    android:versionCode="2" 
    android:versionName="1.1" > 

Dopo, costruire file cambia automaticamente.

enter image description here

+1

android: versionCode = "2" significa ogni volta che si desidera caricare apk sul Play Store che è necessario aumentare il codice di versione e il codice di versione è possibile mantenere quello che vuoi non influisce – Ajinkya

+0

non lo fa lavoro, l'ho già fatto. Ho corretto la mia domanda. –

risposta

65

Si deve cambiare la tua versionCode e versionName in android/app/build.gradle:

android { 

    defaultConfig { 

     versionCode 1 
     versionName "1.0" 

     {...} 
    } 

    {...} 
} 
+0

Grazie, io stesso ho visto quel file più volte, ma ho appena perso quella parte. –

+2

Ho trovato la soluzione nel file che hai indicato, ma in realtà era leggermente più in basso. C'era una sezione che iniziava con ** applicationVariants ** e lì il ** output.versionCodeOverride ** stava per essere impostato, che faceva come il nome suggerito e sovrascriveva quello nella parte superiore del file. – AidenMontgomery

+0

Che ne pensi di AndroidManifest.xml dobbiamo aggiornarlo? – Noitidart

35

@Joseph Roque è corretta, è necessario aggiornare i numeri di versione in android/app/build.gradle.

Ecco come automatizzo questo e legalo nella versione del pacchetto in package.json e git commit.

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

Note:

  • E 'importante che versionCode è un numero intero - quindi non possiamo usare delle versioni semantica qui. Questo viene utilizzato sul Play Store per dire quali versioni venire dietro gli altri - è per questo che è legato a git impegna in getGitVersion

  • versionName tuttavia è mostrato agli utenti - sto usando delle versioni semantica qui e memorizzazione del valore reale nella mia package.json. Grazie alla https://medium.com/@andr3wjack/versioning-react-native-apps-407469707661

+0

risposta PERFETTA. Fatto questo e ha funzionato come un fascino. – Lovato

+2

Andrew Jack discute un metodo molto simile e un metodo per iOS nel suo articolo Medium: https://medium.com/@andr3wjack/versioning-react-native-apps-407469707661#.ky7l2lys7. È un'ottima lettura per le persone che vogliono mantenere le loro versioni corrispondenti alle loro build. – DBrown