2012-03-26 28 views
12

Tôi chỉ cố gắng sử dụng Robotium trong một JUnit thử nghiệm Android, nhưng kiểm tra luôn thất bại với một lỗi:Android Robotium NoClassDefFoundError

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

ném vào solo = new Solo (getInstrumentation(), getActivity()); trong thiết lập() phương pháp:

protected void setUp() throws Exception { 
    super.setUp(); 
    solo = new Solo(getInstrumentation(), getActivity()); 
} 

Tôi đọc ở đâu đó rằng điều này có thể liên quan đến việc sửa đổi Android SDK 17, nhưng tôi không thể xác nhận điều này, như lần đầu tiên tôi đã cố gắng Robotium đã với SDK 17.

Các Robotium jar được thêm đúng vào đường dẫn xây dựng của dự án.

Có ai gặp phải sự cố tương tự không?

Kính trọng K.

Trả lời

30

Tôi đã có cùng một vấn đề ngay hôm nay. Tôi đã giải quyết bằng cách nhập jar vào thư mục libs của dự án thử nghiệm và sau đó thêm nó vào thư viện Build Path Libraries:

Thuộc tính TestProject -> Đường dẫn xây dựng Java -> Libreries -> Thêm JAR ... -> TestProject/libs /robotium-solo-3.1.jar

+2

thư mục libs đã thực hiện thủ thuật, cảm ơn bạn!nhưng bạn không nên thêm chúng vào đường dẫn buil, vì mọi thứ trong libs được tự động thêm vào đường dẫn xây dựng. (http://tools.android.com/recent/dealingwithdependenciesinandroidprojects). – Alf

+0

Hi Kim, tôi không thấy bất kỳ lib nào cho dự án thử nghiệm của tôi ... tôi cần thay đổi điều này ở đâu? – ChanGan

25

Bạn cần xuất khẩu bình Robotium bằng cách vào Properties-> Java Build Path -> Order and Export. Sau đó kiểm tra tệp jar Robotium.

+0

Đó là vấn đề của tôi, cảm ơn! – Blaskovicz

+0

Điều này đã giúp tôi trong tình huống này! Cảm ơn! – joebalt

3

Đã xảy ra sự cố tương tự trên SDK 17. Thêm bình robotium vào lib và xuất giúp. Cũng đã phải thay đổi cuộc gọi siêu không được chấp nhận trong constructor từ super (String, Class) thành super (Class) để làm cho nó hoạt động.

+0

Tôi cũng có cả ba vấn đề này khi cố gắng thử nghiệm ứng dụng Jelly Bean. Đảm bảo bạn không sử dụng hàm tạo không dùng nữa. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

2

Tôi đã làm gì để sửa chữa các lỗi là:

  • Di chuyển các thư viện từ các tiêu chuẩn xây dựng Java đường dẫn: tab
  • Nhấp chuột phải vào tên project> Properties> Java Build Path> Thư viện> loại bỏ tất cả mọi thứ ngoại trừ “Android XX” (2.3.3 trong trường hợp của tôi) và “Phụ thuộc của Android”
  • Đổi tên thư mục thư viện từ “lib” sang “libs”
  • Bằng cách đó, tất cả thư viện trong thư mục “libs "Được tìm thấy bởi plugin Android và được thêm vào" Dependencies Android”mục tương ứng của dự án
  • sạch các dự án (không chính xác cần thiết)

Bạn đang tốt để đi!

7

tôi đã cấu hình này để giải quyết vấn đề

enter image description here

Lưu ý: Tôi đặt robotium đầu tiên.

2

Nếu sự cố vẫn tiếp tục, hãy khởi động lại nhật thực của bạn. Tôi đã gặp vấn đề tương tự ngay cả sau khi nhập robotsium.jar nhưng sau khi khởi động lại nhật thực nó hoạt động tốt.

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