Saya menggunakan React native dengan Android. Bagaimana saya bisa memperbarui nomor versi di aplikasi? Saat saya mendapatkan kesalahan ini.
Saya membuat file sesuai url ini https://facebook.github.io/react-native/docs/signed-apk-android.html
Saya telah mencoba memodifikasi file AndroidManifest.xml, tetapi setelah saya membuatnya, file tersebut secara otomatis diubah kembali.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.facebook.react"
android:versionCode="1"
android:versionName="1.0" >
Di sini, saya memodifikasi XML:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.facebook.react"
android:versionCode="2"
android:versionName="1.1" >
Setelah itu, file build secara otomatis berubah kembali.
android
react-native
Praveen Prasad
sumber
sumber
Jawaban:
Anda harus mengubah Anda
versionCode
danversionName
diandroid/app/build.gradle
:android { defaultConfig { versionCode 1 versionName "1.0" {...} } {...} }
sumber
versionCode
adalah nilai yang ditujukan untuk Google / Anda. Saat Anda mengunggah ke Google Play, ini diharapkanversionCode
menjadi lebih besar dari sebelumnyaversionCode
, dan juga unik untuk setiap file yang diunggah. Secara pribadi, saya hanya menambahversionCode
satu per satu secara manual setiap kali saya menyiapkan unggahan ke Google Play. Orang lain mengotomatiskannya menjadi kenaikan berdasarkan git commit, atau faktor lainnya.versionName
adalah apa yang ingin Anda ubah menjadi "2.2" sehingga pengguna Anda akan melihat nomor versi itu ketika mereka memperbarui / mengunduh aplikasi Anda.1.0.1
dan akan menampilkan nilai itu kepada pengguna.@Joseph Roque benar, Anda perlu memperbarui nomor versi di
android/app/build.gradle
.Inilah cara saya mengotomatiskan ini dan mengikatnya ke dalam versi paket
package.json
dan git melakukan.Masuk
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" } }
Catatan:
Itu penting bahwa itu
versionCode
adalah bilangan bulat - jadi kita tidak dapat menggunakan pembuatan versi semantik di sini. Ini digunakan di play store untuk mengetahui versi mana yang muncul setelah yang lain - itulah mengapa ini terkait dengan git commit ingetGitVersion
versionName
namun ditampilkan kepada pengguna - Saya menggunakan versi semantik di sini dan menyimpan nilai sebenarnya di filepackage.json
. Terima kasih untuk https://medium.com/@andr3wjack/versioning-react-native-apps-407469707661sumber
Bagi mereka yang ingin mengotomatiskan ini, dan memiliki iOS pada saat yang sama, Anda dapat menggunakan react-native-version untuk mengatur nomor versi.
Yang perlu Anda lakukan adalah memperbarui nomor versi Anda di dalam file package.json dan menjalankan perintah berikut:
$ npx react-native-version --never-amend [RNV] Versioning Android... [RNV] Android updated [RNV] Versioning iOS... [RNV] iOS updated [RNV] Done ✨ Done in 0.39s.
Saya harap ini bisa membantu orang lain.
sumber
Setel di
versionCode
bawahandroid
di app.json:{ "expo": { "name": "App Name", ... "android": { "package": "com.app.name", "permissions": [], "versionCode": 2 } } }
ref: https://docs.expo.io/versions/latest/workflow/configuration/#versioncodeversion-number-required-by-google-play-increment-by-one-for-each-release-must-be-an -integer-httpsdeveloperandroidcomstudiopublishversioninghtml
sumber
Jika seseorang menghadap
Kemudian pastikan untuk tidak menggunakan SeparateBuildPerCPUArchitecture di
android/app/build.gradle
def enableSeparateBuildPerCPUArchitecture = false
dan
untuk memperbarui kode versi dan perubahan nama di
android/app/build.gradle
:android { defaultConfig { versionCode 1 versionName "1.0" {...} } {...} }
sumber
Saya memiliki masalah yang sama dan saya memeriksa semua jawaban di atas, saya melakukan kesalahan konyol karena tidak ada yang berhasil untuk saya. Kalau-kalau ada di antara Anda yang melakukan kesalahan yang sama seperti saya, coba ini.
Jadi di project / app / build.gradle
android { defaultConfig { versionCode 1 // do not use decimal number here versionName "1.0" // you can use decimal number here. {...} } {...} }
sumber