Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Menggunakan perangkat di TF
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Trade Federation menggunakan abstraksi yang disebut
ITestDevice
untuk
menjalankan pengujian. Abstraksi ini memobjektifikasi perangkat Android dengan penyebut umum terkecil:
- Memiliki nomor seri
- Statusnya: Online, Tersedia, Pemulihan, atau Tidak Tersedia
- Ada beberapa konsep keandalan. Misalnya, jika menjalankan perintah, kita dapat membedakan
antara kasus saat perintah belum selesai, kasus saat perangkat tidak mendukung
perintah yang berjalan, dan kasus saat perangkat tidak responsif saat menjalankan
perintah.
Class perangkat
Tiga implementasi utama ITestDevice
mewakili tiga kasus penggunaan
umum.
Perangkat fisik
Ini adalah hardware yang sebenarnya, yang terhubung ke mesin host TF melalui USB, atau menggunakan
fitur TCP adb. Class TestDevice berada di atas library ddmlib, yang merupakan antarmuka Java untuk adb. Jadi, setiap
perangkat fisik yang tercantum dalam adb devices
dapat dibuat instance-nya dan digunakan sebagai
TestDevice
.
Emulator
Emulator ditangani secara khusus oleh TF karena berada dalam proses lain. Untuk berinteraksi dengan
Emulator, tentukan argumen --emulator
untuk perintah. Lihat
LocalSdkBuildProvider dan
SdkAvdPreparer untuk mengetahui info selengkapnya.
Tidak ada perangkat
Misalkan Anda memiliki pengujian yang sama sekali tidak berinteraksi dengan perangkat. Misalnya, file tersebut mungkin hanya
mendownload file dari beberapa layanan dan memverifikasi bahwa file itu sendiri valid. NullDevice
adalah ITestDevice
yang hanya merupakan stub. Class ini memiliki nomor seri seperti
null-device-N
, dan sebagian besar operasi yang dicoba tidak akan dilakukan secara diam-diam atau akan ditampilkan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Work with devices in TF\n\nTrade Federation uses an abstraction called\n[ITestDevice](/reference/com/android/tradefed/device/ITestDevice) to\nrun tests. This abstraction objectifies the lowest-common-denominator Android device:\n\n- It has a serial number\n- It has a state: Online, Available, Recovery, or Not Available\n- It has some notion of reliability. For instance, if we run a command, we can differentiate between the case where the command hasn't finished yet, the case where the device doesn't support running commands, and the case where the device has become unresponsive while running the command.\n\nDevice classes\n--------------\n\nThe three primary implementations of `ITestDevice` represent three common\nusecases.\n\n### Physical device\n\nThis is an actual piece of hardware, connected to the TF host machine either by USB, or by using\nadb's TCP feature. The [TestDevice](/reference/com/android/tradefed/device/TestDevice) class sits atop the ddmlib library, which is a Java interface to adb. So any\nphysical device listed in `adb devices` can be instantiated and used as a\n`TestDevice`.\n\n### Emulator\n\nEmulators are handled specially by TF because they live in another process. To interact with an\nEmulator, specify the `--emulator` argument for the command. See\n[LocalSdkBuildProvider](/reference/com/android/tradefed/build/LocalSdkBuildProvider) and\n[SdkAvdPreparer](/reference/com/android/tradefed/targetprep/SdkAvdPreparer) for more info.\n\n### No device\n\nSuppose you have a test that doesn't interact with a device at all. For instance, it might just\ndownload a file from some service and verify that the file itself is valid. The\n[NullDevice](/reference/com/android/tradefed/device/NullDevice) is an `ITestDevice` that is just a stub. It has a serial number like\n`null-device-N`, and most attempted operations either no-op silently or throw."]]