Một giải pháp khả thi cho vấn đề này là bạn có thể không gói ứng dụng của mình trước, thực hiện các bước sau và sau đó triển khai ứng dụng-debug.apk cho thiết bị của bạn
$ cd myproject
$ react-native start > /dev/null 2>&1 &
$ curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
(nếu thư mục assets
không tồn tại, hãy tạo nó)
Sau đó chạy từ gốc dự án
$> (cd android/ && ./gradlew assembleDebug)
cài đặt apk đã tạo cho thiết bị của bạn, từ vị trí: android/app/build/outputs/apk/app-debug.apk
cho tôi biết nếu điều đó khắc phục vấn đề của bạn
CHỈNH SỬA :
Bạn có thể chỉ cần đặt nó vào gói.json của mình dưới dạng tập lệnh để tự động hóa nó, tôi tin rằng nó sẽ được sửa trong các phiên bản sắp tới của Reac -igen và sẽ được thực thi trước khi lắp ráp APK cuối cùng, do đó điều này sẽ không cần thiết (tôi hy vọng cũng)
đặt :
"scripts": {
"build": "(cd android/ && ./gradlew assembleDebug)",
"start": "node node_modules/react-native/local-cli/cli.js start",
"bundle-android": "react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --sourcemap-output android/app/src/main/assets/index.android.map --assets-dest android/app/src/main/res/"
},
hoặc như đã đề cập tương đương curl, nhưng đối với hầu hết các trường hợp, ở trên là mạnh mẽ hơn
react-native run-android
? Tôi gặp lỗi trong trường hợp này, điều này thật kỳ lạ bởi vì trong chế độ gỡ lỗi, không cần phải có gói JS afaik vì nó được cho là đang kết nối với máy chủ gói.