Karena saya baru dalam reaksi-asli sehingga jika ada sesuatu yang salah dalam langkah, beri tahu saya.
Saya telah membangun aplikasi Android asli yang bereaksi menggunakan perintah sesuai dokumentasi
Android asli bereaksi
saat berjalan di perangkat perintah berikut ini digunakan
reaksi-asli run-android
yang memberi saya output 2 file apk di folder proyek / android / app / build / outputs / apk saya
sekarang ketika saya menggunakan untuk menginstal apk ini setelah instalasi itu meminta server pengembangan untuk terhubung ke bundel JS. Tetapi persyaratan saya adalah bahwa pengguna tidak harus berjuang dengan server pengembangan hanya dia perlu menginstal apk dan semuanya dilakukan.
Telah melewati beberapa Pertanyaan stackoverflow tetapi tidak membantu untuk membangun apk yang tidak ditandatangani yang tidak memerlukan server pengembangan.
Bisakah kalian membantu saya menemukan cara bagaimana membangun dan tidak ditandatangani apk di reaksi asli?
sumber
Jawaban:
Anda perlu secara manual membuat bundel untuk membangun debug.
Bundel debug build:
Kemudian untuk membangun APK setelah bundling:
PS Pendekatan lain mungkin untuk memodifikasi skrip gradle.
sumber
--assets-dest ./android/app/src/main/res/
Ikuti langkah-langkah itu.
Bundel js Anda:
jika Anda memiliki index.android.js di root proyek kemudian jalankan
jika Anda memiliki index.js di root proyek kemudian jalankan
Buat apk debug:
Maka Anda dapat menemukan apk Anda di sini:
sumber
react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug
Pembaruan Terbaru
Di direktori proyek root Anda
Pastikan Anda sudah memiliki direktori android / app / src / main / aset / , jika tidak membuat direktori, setelah itu buat file baru dan simpan sebagai
index.android.bundle
dan masukkan file Anda seperti ini android / app / src / main / aset / index.android .bundelSetelah itu jalankan ini
Kemudian Anda bisa masuk
apk
ke app / build / outputs / apk / debug / app-debug.apksumber
index.android.bundle
sangat penting untuk tidak menggunakan server pengembangan di host.Dengan saya, dalam direktori proyek jalankan perintah berikut.
Untuk bereaksi versi lama asli (Anda akan melihat index.android.js di root):
Untuk bereaksi versi baru asli (Anda hanya melihat index.js di root):
File apk akan dihasilkan di:
sumber
$ mkdir -p android/app/src/main/assets && rm -rf android/app/build && 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 && cd android && ./gradlew assembleDebug
--entry-file index.android.js
perlu diganti dengan--entry-file index.js
untuk proyek-proyek baru yangindex.js
bukanindex.android.js
di root direktori proyek mereka.Setelah Anda mengikuti respons pertama , Anda dapat menjalankan aplikasi menggunakan
Dan aplikasi Anda akan berjalan tanpa perlu paket
sumber
Pada reaksi-asli 0,57, tidak ada jawaban yang diberikan sebelumnya akan berfungsi lagi, karena direktori di mana gradle mengharapkan untuk menemukan bundel dan asetnya telah berubah.
Cara sederhana tanpa reaksi paket asli
Cara paling sederhana untuk membangun debug build adalah tanpa menggunakan
react-native bundle
perintah sama sekali, tetapi hanya dengan memodifikasiapp/build.gradle
file Anda .Di dalam
project.ext.react
peta dalamapp/build.gradle
file, tambahkanbundleInDebug: true
entri. Jika Anda ingin agar tidak berupa--dev
bangunan (tidak ada peringatan dan bundel yang diperkecil) maka Anda juga harus menambahkandevDisabledInDebug: true
entri ke peta yang sama.Dengan bundel asli-reaksi
Jika karena alasan tertentu Anda perlu atau ingin menggunakan
react-native bundle
perintah untuk membuat bundel dan kemudian./gradlew assembleDebug
untuk membuat APK dengan bundel dan aset Anda harus memastikan untuk meletakkan bundel dan aset di jalur yang benar, di mana gradle dapat Temukan mereka.Pada reaksi-asli 0,57 jalur tersebut adalah
android/app/build/generated/assets/react/debug/index.android.js
untuk bundeldan
android/app/build/generated/res/react/debug
untuk aset. Jadi perintah lengkap untuk bundling dan pembangunan APK secara manual dengan bundel dan aset adalah:react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/generated/assets/react/debug/index.android.bundle --assets-dest ./android/app/build/res/react/debug
lalu
./gradlew assembleDebug
Bundel dan jalur aset
Perhatikan bahwa jalur tempat gradle mencari bundel dan aset dapat berubah. Untuk mencari tahu di mana jalur tersebut berada, lihat
react.gradle
file dinode_modules/react-native
direktori Anda . Baris dimulai dengandef jsBundleDir =
dandef resourcesDir =
tentukan direktori tempat gradle mencari bundel dan asetnya masing-masing.sumber
Untuk pengguna Windows jika semua langkah diikuti dengan benar dari ini: https://facebook.github.io/react-native/docs/signed-apk-android.html
Anda hanya perlu menjalankan:
gradlew assembleRelease
Dan file Anda akan:
Lokasi:
E:\YourProjectName\android\app\build\outputs\apk
sumber
Saya sedang bereaksi asli 0.55.4, pada dasarnya saya harus bundel secara manual:
Kemudian hubungkan perangkat Anda melalui usb, aktifkan usb debugging. Verifikasi perangkat yang terhubung dengan
adb devices
.Terakhir dijalankan
react-native run-android
yang akan menginstal apk debug pada ponsel Anda dan Anda dapat menjalankannya dengan baik dengan server devcatatan:
index.js
gradlew assembleRelease
hanya menghasilkan apks yang tidak ditandatangani yang tidak dapat diinstalsumber
Dimungkinkan untuk membuat versi apk yang tidak ditandatangani untuk tujuan pengujian sehingga Anda dapat berjalan di ponsel Anda.
Awalnya saya mendapat kesalahan layar merah seperti yang paling banyak disebutkan di sini. tetapi saya mengikuti hal yang sama yang disebutkan di sini dan itu berhasil untuk saya.
Di konsol Anda dari direktori kerja, jalankan empat perintah ini
Dan kemudian file APK akan dihasilkan di: android \ app \ build \ outputs \ apk \ debug \ app-debug.apk
sumber
Kalau-kalau ada orang lain baru-baru ini masuk ke masalah yang sama ini, saya menggunakan React Native 0.59.8 (diuji dengan RN 0.60 juga) dan saya dapat mengkonfirmasi beberapa jawaban lain, berikut adalah langkah-langkahnya:
Hapus instalan versi kompilasi terbaru dari aplikasi Anda yang terpasang di perangkat Anda
Lari
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
Lari
cd android/ && ./gradlew assembleDebug
Dapatkan aplikasi-debug.apk Anda di folder android / app / build / outputs / apk / debug
semoga berhasil!
sumber
android/app/build/generated/assets/react/debug/index.android.js
dan aset berada padaandroid/app/build/generated/res/react/debug
0,57 asli reaksi.Saya menemukan solusi mengubah buildTypes seperti ini:
sumber