Saya telah membangun aplikasi saya, saya dapat menjalankannya di emulator lokal saya (dan juga pada perangkat android saya dalam jaringan yang sama dengan mengubah server debug).
Namun, saya ingin membangun APK yang dapat saya kirim ke seseorang tanpa akses ke server pengembangan dan saya ingin mereka dapat menguji aplikasi.
Saya melihat ada bagian Menggunakan bundel offline pada bagian iOS dari dokumentasi. Tapi saya tidak tahu bagaimana menyelesaikan hal yang sama untuk android. Apakah ini mungkin? Jika ya, bagaimana caranya?
UPDATE: Pada jawaban untuk pertanyaan ini ( Android gagal memuat bundel JS ) dikatakan bahwa bundel offline dapat diunduh dari server pengembangan. Tetapi ketika saya mendapatkan bundel dari server pengembangan file gambar tidak dapat dimuat.
sumber
Jawaban:
Mengikuti jawaban Aditya Singh, apk yang dihasilkan (tidak ditandatangani) tidak akan dipasang di ponsel saya. Saya harus membuat apk yang ditandatangani menggunakan instruksi di sini .
Berikut ini bekerja untuk saya:
Tempatkan
my-release-key.keystore
file di bawahandroid/app
direktori di folder proyek Anda. Kemudian edit file~/.gradle/gradle.properties
dan tambahkan berikut ini (ganti **** dengan kata sandi kunci yang benar, alias dan kata sandi kunci)Jika Anda menggunakan MacOS, Anda dapat menyimpan kata sandi di gantungan kunci menggunakan instruksi di sini alih-alih menyimpannya dalam plaintext.
Kemudian edit app / build.gradle dan pastikan hal berikut ada di sana (bagian dengan penandatangananConfigs penandatangananConfig mungkin perlu ditambahkan):
Kemudian jalankan perintah
cd android && ./gradlew assembleRelease
,Untuk Windows 'cd android' dan kemudian jalankan
gradlew assembleRelease
perintah, dan temukan apk yang Anda tandatangani di bawahandroid/app/build/outputs/apk/app-release.apk
sumber
Anda harus membuat kunci untuk menandatangani apk. Gunakan di bawah ini untuk membuat kunci Anda:
Gunakan kata sandi saat diminta
Setelah kunci dibuat, gunakan untuk menghasilkan build yang dapat diinstal:
Hasilkan build menggunakan gradle
Unggah APK ke ponsel Anda. The
-r
bendera akan menggantikan aplikasi yang ada (jika ada)Penjelasan lebih rinci disebutkan di sini: https://facebook.github.io/react-native/docs/signed-apk-android.html
UPDATE : Berdasarkan komentar oleh @shashuec dan @Fallen
jika Anda mendapatkan kesalahan
jalankan mkdir android / app / src / main / aset
sumber
react-native bundle
bagian itu. Terima kasih atas jawaban anda!gradlew.bat assembleRelease
juga.Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
. ketika saya mencoba menginstal apk.ENOENT: no such file or directory, open 'android/app/src/main/assets/index.android.bundle'
runmkdir android/app/src/main/assets
Anda hanya harus menggunakan studio android untuk proses ini. Itu lebih sederhana. Tetapi pertama-tama jalankan perintah ini di direktori aplikasi asli reaksi Anda:
Untuk versi yang lebih baru dari reaksi-asli (misalnya reaksi asli 0.49.0 & seterusnya ...)
Untuk Versi lawas dari reaksi asli (0.49.0 & di bawah)
Kemudian Gunakan android studio untuk membuka folder 'android' di Anda bereaksi direktori aplikasi asli, itu akan meminta untuk meng-upgrade gradle dan beberapa hal lainnya. pergi ke build-> Hasilkan APK yang ditandatangani dan ikuti instruksi dari sana. Benar-benar lurus ke depan.
sumber
Jalankan perintah ini:
sumber
cd android && ./gradlew installRelease
dan mendapatkan kesalahan iniTask 'assembleRelease.' not found in root project 'project'. Some candidates are: 'assembleRelease'.
untuk Bereaksi Asli 0,49 dan lebih tinggi
Anda harus pergi ke direktori proyek pada terminal dan menjalankan perintah itu
jika di bawah 0,49
Kemudian Gunakan android studio untuk membuka folder 'android' di Anda bereaksi direktori aplikasi asli, itu akan meminta untuk meng-upgrade gradle dan beberapa hal lainnya. pergi ke build-> Hasilkan APK yang ditandatangani dan ikuti instruksi dari sana. Okey itu
sumber
Jika Anda mendapatkan
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
.Saya mencoba menggunakan metode @ Aditya untuk menghasilkan file APK yang tidak ditandatangani dan menginstalnya, tetapi ketika saya menginstalnya di tablet Android saya, itu memberi saya kesalahan
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
.Saya membayangkan ini karena file APK tidak ditandatangani dan tablet tidak senang dengan ini. Jadi, setelah membuat file bundel Asli Bereaksi, saya dapat membuat file APK yang ditandatangani, seperti biasa, melalui Android Studio.
Ngomong-ngomong, aplikasi kami adalah aplikasi Android yang berfungsi penuh yang sudah ada di Play Store dan kami hanya menambahkan React Native ke dalamnya dalam ukuran seukuran gigitan, karena itu mengagumkan.
Jadi untuk meringkas, inilah langkah-langkah saya:
1) Hasilkan bundel Asli Bereaksi:
2) Hasilkan file APK yang Ditandatangani dari Android Studio.
3) Instal File APK yang Ditandatangani ke perangkat USB:
The
-d
bendera hanya memberitahuadb
untuk menginstal pada perangkat usb terpasang, dalam hal Anda memiliki emulator berjalan dengan baik. Jika Anda ingin menginstal emulator apa pun, jatuhkan-d
flag.4) Untung!
sumber
Coba di bawah, ini akan menghasilkan aplikasi-debug.apk pada folder root / android / app / build / outputs / apk / debug Anda
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
lalu buka folder android dan jalankan
./gradlew assembleDebug
sumber
Jika ada yang ingin membangun tanpa tombol playstore maka perintah ini akan sangat membantu.
# react-native run-android --variant=release
Setelah selesai, Anda dapat menemukan apk dalam file rilis rilis.
sumber
Buka direktori proyek dan jalankan perintah:
sumber
Jika Anda mendapatkan kesalahan yang melibatkan index.android.js. Ini karena Anda menggunakan versi React-asli yang baru (saya menggunakan 0,55.4) Cukup ganti "index.android.js" menjadi "index.js"
sumber
Saya punya solusi lain: - Menghasilkan kunci penandatanganan Anda dapat membuat kunci penandatanganan pribadi menggunakan keytool. Pada Windows keytool harus dijalankan dari C: \ Program Files \ Java \ jdkx.x.x_x \ bin.
Tempatkan file my-release-key.keystore di bawah direktori android / app di folder proyek Anda.
Edit file android / app / build.gradle di folder proyek Anda dan tambahkan konfigurasi penandatanganan,
dan lari
Ini akan memberi Anda dua file di android \ app \ build \ outputs \ apk app-release.apk dan app-release-unsigned.apk sekarang instal app-release.apk di perangkat android Anda.
sumber
Semoga ini akan membantu pemula baru
Doc resmi di sini
Jika Anda tidak memiliki keystore daripada menggunakan sebelum perintah lain lewati
Membuat kunci penandatanganan / file Keystore Anda dapat membuat kunci tanda tangan pribadi menggunakan keytool. Pada Windows keytool harus dijalankan dari C: \ Program Files \ Java \ jdkx.x.x_x \ bin.
Anda akan mendapatkan file seperti my-release-key.keystore
Menyiapkan variabel gradle Tempatkan file my-release-key.keystore di bawah direktori android / app di folder proyek Anda. Mengedit file android / gradle.properties dan tambahkan berikut (ganti ***** dengan password yang benar keystore, alias dan password kunci), enableAapt2 set palsu adalah solusi, seperti android versi Gradle 3.0 masalah
kemudian tambahkan aplikasi ini / buid.gradle (aplikasi)
di bawah konfigurasi default
dan rilis tipe Inside Build {}
kemudian jalankan perintah ini di terminal android studio Perintah di bawah ini akan mengotomatiskan di atas semua jawaban
jika windows
jika linux / mac
jika Anda mendapat kesalahan, hapus semua folder bangun dan jalankan perintah
daripada lagi
sumber
gradle clean
... Saya telah berjuang dengan ini untuk sementara waktu mendapatkan kesalahan-kesalahan build itu, terima kasih banyak atas jawaban ini !!Untuk versi terbaru bereaksi asli untuk bundel proyek
Android
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
iOS
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
sumber
Cara GUI di Android Studio
sumber
Menggunakan android studio untuk menghasilkan apk yang ditandatangani untuk proyek android react juga merupakan pilihan yang baik dan mudah, buka proyek android reacts di android studio dan hasilkan keystroke dan apk yang ditandatangani.
sumber
Lihat dokumentasi resmi asli reaksi pada Generating Signed APK
React-Native Generating Signed APK
sumber