Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem thế nào.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Cấu hình xây dựng đơn giản

Mỗi mô-đun thử nghiệm mới phải có tệp cấu hình để chỉ đạo hệ thống xây dựng với siêu dữ liệu mô-đun, phụ thuộc thời gian biên dịch và hướng dẫn đóng gói. Android hiện sử dụng hệ thống xây dựng Soong để cấu hình thử nghiệm đơn giản hơn.

Soong sử dụng các tệp Blueprint hoặc .bp , là các mô tả khai báo đơn giản giống như JSON của các mô-đun để xây dựng. Định dạng này thay thế hệ thống dựa trên Make được sử dụng trong các phiên bản trước. Xem các tệp tham chiếu Soong trên Bảng điều khiển tích hợp liên tục để biết chi tiết đầy đủ.

Để phù hợp với thử nghiệm tùy chỉnh hoặc sử dụng Bộ kiểm tra tương thích Android (CTS), thay vào đó, hãy thực hiện theo Cấu hình kiểm tra phức tạp .

Thí dụ

Các mục bên dưới đến từ ví dụ này tệp cấu hình Blueprint: / pl platform_testing / tests / example / instumentation / Android.bp

Một ảnh chụp nhanh được bao gồm ở đây để thuận tiện:

 android_test {
    name: "HelloWorldTests",
    srcs: ["src/**/*.java"],
    sdk_version: "current",
    static_libs: ["android-support-test"],
    certificate: "platform",
    test_suites: ["device-tests"],
}
 

Lưu ý khai báo android_test ở đầu cho biết đây là một bài kiểm tra. Bao gồm android_app ngược lại chỉ ra đây là gói xây dựng.

Cài đặt

Các cài đặt sau giải thích garner:

     name: "HelloWorldTests",
 

Cài đặt name được yêu cầu khi loại mô-đun android_test được chỉ định (ở đầu khối). Nó đặt tên cho mô-đun của bạn và APK kết quả sẽ được đặt tên giống nhau và với hậu tố .apk , ví dụ trong trường hợp này, apk thử nghiệm kết quả được đặt tên là HelloWorldTests.apk . Ngoài ra, điều này cũng xác định một tên mục tiêu cho mô-đun của bạn, để bạn có thể sử dụng make [options] <HelloWorldTests> để xây dựng mô-đun thử nghiệm của mình và tất cả các phụ thuộc của nó.

     static_libs: ["android-support-test"],
 

Cài đặt static_libs hướng dẫn hệ thống xây dựng kết hợp nội dung của các mô-đun được đặt tên vào apk kết quả của mô-đun hiện tại. Điều này có nghĩa là mỗi mô-đun được đặt tên dự kiến ​​sẽ tạo ra một .jar và nội dung của nó sẽ được sử dụng để giải quyết các tham chiếu đường dẫn trong thời gian biên dịch, cũng như được tích hợp vào apk kết quả.

Trong ví dụ này, những thứ thường có thể hữu ích cho các bài kiểm tra:

Các android-support-test là dựng sẵn cho các thư viện hỗ trợ Android Test, trong đó bao gồm các thử nghiệm runner mới AndroidJUnitRunner : một sự thay thế cho bây giờ bị phản built-in InstrumentationTestRunner , với sự hỗ trợ cho các khuôn khổ thử nghiệm Junit4. Đọc thêm tại Kiểm tra ứng dụng trên Android .

Nếu bạn đang xây dựng một mô-đun thiết bị mới, bạn nên luôn bắt đầu với thư viện android-support-test làm người chạy thử nghiệm của bạn. Cây nguồn nền tảng cũng bao gồm các khung thử nghiệm hữu ích khác như ub-uiautomator , mockito-target , easymock và hơn thế nữa.

     certificate: "platform",
 

Cài đặt certificate hướng dẫn hệ thống xây dựng ký apk với cùng chứng chỉ với nền tảng cốt lõi. Điều này là cần thiết nếu thử nghiệm của bạn sử dụng quyền hoặc chữ ký được bảo vệ bằng chữ ký. Lưu ý rằng điều này phù hợp với thử nghiệm liên tục nền tảng, nhưng không nên được sử dụng trong các mô-đun thử nghiệm CTS. Lưu ý rằng ví dụ này chỉ sử dụng cài đặt chứng chỉ này cho mục đích minh họa: mã kiểm tra của ví dụ không thực sự cần để apk thử nghiệm được ký với chứng chỉ nền tảng đặc biệt.

Nếu bạn đang viết một thiết bị cho thành phần của mình nằm ngoài máy chủ hệ thống, nghĩa là, nó được đóng gói ít nhiều giống như một apk ứng dụng thông thường, ngoại trừ nó được tích hợp vào hình ảnh hệ thống và có thể là một ứng dụng đặc quyền, rất có thể thiết bị của bạn sẽ đang nhắm mục tiêu gói ứng dụng (xem phần bên dưới về bảng kê khai) của thành phần của bạn. Trong trường hợp này, tệp tạo ứng dụng của bạn có thể có cài đặt certificate riêng và mô-đun thiết bị của bạn sẽ giữ nguyên cài đặt đó. Điều này là do để nhắm mục tiêu thiết bị của bạn trên ứng dụng đang được thử nghiệm, apk thử nghiệm và apk ứng dụng của bạn phải được ký với cùng một chứng chỉ.

Trong các trường hợp khác, bạn hoàn toàn không cần có cài đặt này: hệ thống xây dựng sẽ chỉ cần ký tên với chứng chỉ tích hợp mặc định, dựa trên biến thể xây dựng và thường được gọi là khóa dev-keys .

     test_suites: ["device-tests"],
 

Cài đặt test_suites làm cho thử nghiệm có thể dễ dàng khám phá bằng khai thác thử nghiệm của Liên đoàn Thương mại. Các bộ khác có thể được thêm vào đây như CTS để thử nghiệm này có thể được chia sẻ.

 ${ANDROID_PRODUCT_OUT}/testcases/HelloWorldTests/HelloWorldTests.apk
 

Cài đặt tùy chọn

Các cài đặt tùy chọn sau đây giải thích garner:

     test_config: "path/to/hello_world_test.xml"
 

Cài đặt test_config hướng dẫn hệ thống xây dựng mục tiêu thử nghiệm của bạn cần một cấu hình cụ thể. Theo mặc định, một AndroidTest.xml bên cạnh Android.bp được liên kết với cấu hình.

     auto_gen_config: true
 

Cài đặt auto_gen_config cho biết có tự động tạo cấu hình thử nghiệm hay không. Nếu AndroidTest.xml không tồn tại bên cạnh Android.bp , thuộc tính này không cần phải được đặt thành đúng một cách rõ ràng.

     require_root: true
 

Các require_root thiết lập chỉ thị xây dựng hệ thống để thêm RootTargetPreparer để tự động tạo ra cấu hình thử nghiệm. Điều này đảm bảo kiểm tra để chạy với quyền root.

     test_min_api_level: 29
 

Cài đặt test_min_api_level hướng dẫn hệ thống xây dựng thêm MinApiLevelModuleContoder vào cấu hình thử nghiệm được tạo tự động. Khi Liên đoàn thương mại chạy cấu hình thử nghiệm, thử nghiệm sẽ bị bỏ qua nếu thuộc tính thiết bị của ro.product.first_api_level < test_min_api_level .