2017-06-20 13 views
5

Tôi mới ở dạng phản ứng gốc. Tôi đã chạy phản ứng dự án gốc trên Ubuntu bằng cách sử dụng lệnh 'phản ứng bản địa chạy-android'. Và tôi gặp lỗi trên trình giả lập "Không thể tải tập lệnh từ nội dung 'index.android.bundle'Đảm bảo gói của bạn được đóng gói chính xác hoặc bạn đang chạy máy chủ gói."không thể tải tập lệnh từ nội dung 'index.android.bundle'

+0

Chào mừng bạn đến SO! Vui lòng xem [Cách đặt câu hỏi hay] (https://stackoverflow.com/questions/ask). – rll

+0

bạn có thể tìm thấy câu trả lời của mình trên https://stackoverflow.com/questions/44795384/unable-to-load-script-from-assets-index-android-bundle-make-sure-your-bundle/45409223#45409223 – honarkhah

Trả lời

1

Dường như có vấn đề trong phiên bản mới nhất của React Native (0.46). Sử dụng phiên bản trước có vẻ như để giải quyết sự cố react-native init name --version [email protected] và xóa lỗi khi chạy react-native run-android.

Chỉnh sửa: Hiện đã được sửa trong phiên bản 0.46.1.

13

Tôi cũng nhận được điều này và tôi giải quyết này sử dụng lệnh sau đây trong thư mục dự án của bạn:

$ mkdir android/app/src/main/assets 

$ react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

$ react-native run-android 
+1

không làm việc cho tôi ... bạn có thể vui lòng giúp đỡ –

+0

Tôi đã thử với React Native phiên bản 3.x và thay đổi index.android.js bằng công cụ index.js. – Drake

1

này giúp tôi giải quyết vấn đề trong các bước tiếp theo.

  • Nếu không hơn (trong thư mục dự án) mkdir android/app/src/main/tài sản

  • react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  • react-native run-android

-1

Đối với lỗi này:

không thể tải kịch bản từ tài sản 'index.android.bundle'

1) Kiểm tra "tài sản" thư mục tại địa chỉ:

mkdir android\app\src\main\assets 

Nếu thư mục không có sẵn, tạo một thư mục với tên "tài sản" theo cách thủ công. và thực thi lệnh Curl trong terminal.

2). Lệnh curl:

curl "http://localhost:8081/index.android.bundle?platform=android" -o"android/app/src/main/assets/index.android.bundle" 

Nó sẽ tự động tạo tệp "index.android.bundle" trong thư mục nội dung và giải quyết vấn đề.

3) Sau đó:

react-native run-android 
6

Sử dụng NPM phiên bản 4.3.0 phản ứng bản địa-cli phiên bản 2.01 phản ứng bản địa phiên bản 0,49.5

Trong thư mục dự án,

  • mkdir android/app/src/main/assets
  • 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
  • react-native run-android

Tên tập tin đã thay đổi từ index.android.js để index.js

0

tôi phát hiện ra một giải pháp đề xuất trong các chủ đề tại https://github.com/facebook/react-native/issues/15388

Đó là thiết lập thủ công gỡ lỗi cổng máy chủ máy chủ & cho thiết bị thiết lập cho ứng dụng trên điện thoại.

Step by Step để đẩy và chạy một Crna trên Android

Trong terminal:

  1. create-react-native-app myApp
  2. yarn run eject (tôi đã sử dụng tùy chọn mặc định "thường xuyên Phản ứng dự án Native")
  3. react-native run-android

(nay là ứng dụng nên được biên dịch và cài đặt trên điện thoại)

Trên điện thoại:

  1. Chạy ứng dụng (mong đợi để xem các lỗi màu đỏ màn! - bấm vào nút ở phía dưới bên trái)
  2. Lắc điện thoại Dismiss và chọn Dev Cài đặt
  3. Pick gỡ lỗi máy chủ máy chủ cổng & cho thiết bị và thiết lập để 192.168.xx: 8081 (làm cho nó IP LAN thực tế của bạn tất nhiên)
  4. ứng dụng Khởi động lại trên điện thoại và bạn sẽ thấy thanh màu xanh ở phía trên "Loading từ 192.168.xx: 8081 ..."
  5. bạn cũng sẽ thấy một số "Đóng bó index.js" hành động trong Metro Bundler (mà mở ra khi đang chạy react-native run-android)
  6. Sau khi kết thúc gói, ứng dụng sẽ chạy trên thiết bị Android của bạn!

Sống Nạp lại (khi file nguồn thay đổi) cũng làm việc - chỉ cần lắc điện thoại và liên lạc "Enable Sống Nạp lại"

Bạn có thể chạy các dự án từ Android Studio, nhưng bạn cần phải đầu tiên bắt đầu Metro Bundler với lệnh react-native start trong gốc dự án CRNA.

0

Trong trường hợp của tôi vấn đề là ở dòng này trong file Phản ứng Hoạt động:

mReactInstanceManager = ReactInstanceManager.builder() 
... 
    .setUseDeveloperSupport(BuildConfig.DEBUG) 
... 

BuildConfig.DEBUG phải được thiết lập là true, trong khi trong trường hợp của tôi nó đã sai

0

Trong trường hợp của tôi (nhúng Phản ứng Gốc dưới dạng Activity mới vào Cơ sở Mã Android hiện tại), vấn đề là Android Studio đã tự động nhập sai BuildConfig.

sai: import com.facebook.react.BuildConfig;

Bên phải: import com.mywebdomain.myapp.BuildConfig;

này sẽ áp dụng đối với bất cứ nơi nào bạn đang ốc hiện khối mã này:

mReactRootView = new ReactRootView(this); 
mReactInstanceManager = ReactInstanceManager.builder() 
     .setApplication(getApplication()) 
     .setBundleAssetName("index.android.bundle") 
     .setJSMainModulePath("index") 
     .addPackage(new MainReactPackage()) 
     .setUseDeveloperSupport(BuildConfig.DEBUG) 
     .setInitialLifecycleState(LifecycleState.RESUMED) 
     .build(); 
Các vấn đề liên quan