2015-07-31 32 views
23

Tôi đang cố gắng thiết lập mô-đun thử nghiệm đơn vị như được mô tả trong bài đăng trên blog của studio android. Tuy nhiên, làm một xây dựng gradle không nói cho tôi "Cấu hình với tên" gỡ lỗi-lớp học 'không tìm thấy ". Debug là tên của targetVariant nó đang cố gắng xây dựng, nhưng tôi không hiểu những gì đang xảy ra ở đây.Mô-đun thử nghiệm Android (Gradle Plugin 1.3) không hoạt động: "không tìm thấy lớp gỡ lỗi"

Đây là tệp gradle của mô-đun thử nghiệm của tôi.

apply plugin: 'com.android.test' 

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

targetProjectPath ':app' 
targetVariant 'debug' 
}  

Đây là blogpost mô tả chức năng mô-đun thử nghiệm mới. http://android-developers.blogspot.com/2015/07/get-your-hands-on-android-studio-13.html

Tôi đang sử dụng Gradle Plugin v1.3.0

+0

Bạn đang sử dụng Gradle Plugin 1.3.0? – EpicPandaForce

+0

Vâng, tôi đang sử dụng nó. Tôi đã đề cập nó trong tiêu đề, nhưng không phải là bài đăng. –

+0

Vấn đề có vẻ là tôi đang sử dụng các hương vị xây dựng, vì vậy không có gì được gọi là "deubg". Tuy nhiên, trong lần thử đầu tiên của tôi, tôi không thể khắc phục vấn đề bằng cách trỏ targetVariant tại các bản dựng của tôi. Tôi sẽ xem xét kỹ hơn ... –

Trả lời

21

Tôi cũng rất tò mò về tách mã ứng dụng và mã kiểm tra và tôi đã có thời gian khó khăn để tìm nó ra. Tôi nhìn vào dấu vết ngăn xếp và tìm thấy các DependencyManager (dòng 238) có một TODO để sửa chữa rằng trong gradle.

1) Bạn có quyền về xây dựng flavors.You phải nhập các biến thể đúng

targetVariant '<flavor>Debug' 

ví dụ

targetVariant 'flavor1Debug' 

2) Bạn cũng cần thay đổi mô-đun buildProject của targetProjectPath. Thêm đoạn mã sau:

android { 

    // ... 

    publishNonDefault true 

    // ... 

} 

mà bố tất cả build biến! Nó bị vô hiệu hóa theo mặc định do một số hạn chế của gradle.

+0

'publishNotdefault true' là câu trả lời tôi cũng nhận được trên cộng đồng Công cụ dành cho nhà phát triển Android - https : //plus.google.com/+MariusBardan/posts/79MM5tPBFyp. Nó làm việc cho tôi. –

+0

Có lý do nào để không sử dụng phiên bản 'phát hành' của bạn làm biến thể targetVariant của bạn không? –

+1

@AlexCrist _debug_ là kiểu xây dựng ** không được rút gọn ** mặc định để thử nghiệm vì nó mất ít thời gian hơn để xây dựng và chạy (giảm chu kỳ kiểm tra). Nhưng tất nhiên nó cũng tốt để kiểm tra phiên bản _release_ đặc biệt là khi ** giảm thiểu/obfuscating ** hoặc có bất kỳ cấu hình khác trong khối phát hành. Vì vậy, _debug_ để kiểm tra thường xuyên và _release_ cùng. –

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