2017-10-30 21 views
10

Cố gắng thi đua ứng dụng Android với cordova, nhưng nhận được thông báo lỗi này:Cordova android thi đua - Lỗi: Không thể đọc thuộc tính 'semver' null

xây dựng các gói ứng dụng sau đây (s): /Users/JNJ/cordova /hello/platforms/android/build/outputs/apk/android-debug.apk ANDROID_HOME =/Người dùng/jnj/Thư viện/Android/sdk JAVA_HOME =/Thư viện/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Nội dung/Trang chủ

Lỗi: không thể đọc thuộc tính 'semver' null

Bất kỳ giải pháp nào?

Trả lời

27

Điều này là do sử dụng trình giả lập với phiên bản API xem trước dành cho nhà phát triển không ổn định.

Bạn có thể có thiết bị sử dụng API 27 (Android 8.1).

Mở AVD của bạn, xóa thiết bị đó và chạy lại.

Cũng hữu ích khi sử dụng --target <emulator_name> khi khởi chạy trình giả lập nếu bạn có nhiều trình mô phỏng.

Để có được một danh sách tên có sẵn để sử dụng, gọi lệnh thi đua với --list

+0

đó cố định nó! Cảm ơn! –

+0

Cool @JonasJakobsen, chấp nhận câu trả lời? – Daniel

+0

Tôi nhận được lỗi này ngày hôm nay, và cố định nó bằng cách loại bỏ giả lập 8.1 của tôi và cài đặt một trình giả lập 8.0. Đã sửa chữa thượng nguồn chưa? –

3

Đây là một lỗi trong phương pháp list_images cordova-android, nó bị treo khi nó gặp một phiên bản Android trên hệ thống của bạn mà không có trong nó danh mục: https://github.com/apache/cordova-android/pull/422

bạn có thể áp dụng việc sửa chữa bằng tay trong platforms/android/cordova/emulator.js trong dự án của bạn

7

Mighty Chris là đúng, đó là vấn đề và ông cố định nó ở thượng nguồn (cảm ơn bạn Chris!). Tuy nhiên chỉ để thêm vào câu trả lời của mình, cho những người như tôi không thể cập nhật cordova-android để bao gồm các bản vá, sửa chữa là (ví v6.4.0 cordova-android):

  • tìm ra con đường <project_root>/platforms/android/cordova/lib/emulator.js
  • tìm dòng avd.target = 'Android ' + level.semver + ' (API level ' + api_level + ')';
  • thay thế nó với avd.target = 'Android ' + (level ? level.semver : '') + ' (API level ' + api_level + ')';
+0

Cảm ơn bạn, bất kỳ cách nào để thực hiện một cái móc hoặc một cái gì đó cho nền tảng này thêm reapplies sửa chữa? –

Các vấn đề liên quan