xref: /aosp_15_r20/external/chromium-trace/catapult/devil/README.md (revision 1fa4b3da657c0e9ad43c0220bacf9731820715a5)
1*1fa4b3daSHector Dearman<!-- Copyright 2015 The Chromium Authors. All rights reserved.
2*1fa4b3daSHector Dearman     Use of this source code is governed by a BSD-style license that can be
3*1fa4b3daSHector Dearman     found in the LICENSE file.
4*1fa4b3daSHector Dearman-->
5*1fa4b3daSHector Dearman## devil
6*1fa4b3daSHector Dearman
7*1fa4b3daSHector Dearman��
8*1fa4b3daSHector Dearman
9*1fa4b3daSHector Dearmandevil (device interaction layer) is a library used by the Chromium developers to
10*1fa4b3daSHector Dearmaninteract with Android devices. It currently supports SDK level 16 and above.
11*1fa4b3daSHector Dearman
12*1fa4b3daSHector Dearman## Interfaces
13*1fa4b3daSHector Dearman
14*1fa4b3daSHector Dearmandevil provides python APIs:
15*1fa4b3daSHector Dearman  - [`devil.android.adb_wrapper`](docs/adb_wrapper.md) provides a thin wrapper
16*1fa4b3daSHector Dearman    around the adb binary. Most functions and methods have direct analogues on
17*1fa4b3daSHector Dearman    the adb command-line.
18*1fa4b3daSHector Dearman  - [`devil.android.device_utils`](docs/device_utils.md) provides higher-level
19*1fa4b3daSHector Dearman    functionality built on top of `adb_wrapper`. **This is the primary
20*1fa4b3daSHector Dearman    mechanism through which chromium's scripts interact with devices.**
21*1fa4b3daSHector Dearman
22*1fa4b3daSHector Dearman## Utilities
23*1fa4b3daSHector Dearman
24*1fa4b3daSHector Dearmandevil also provides command-line utilities:
25*1fa4b3daSHector Dearman - [`devil/utils/markdown.py`](docs/markdown.md) generated markdown
26*1fa4b3daSHector Dearman   documentation for python modules.
27*1fa4b3daSHector Dearman
28*1fa4b3daSHector Dearman## Constraints and Caveats
29*1fa4b3daSHector Dearman
30*1fa4b3daSHector Dearmandevil supports python 2.7. Python 3 compatibility is currently a work in
31*1fa4b3daSHector Dearmanprogress (see https://crbug.com/1007101).
32*1fa4b3daSHector Dearman
33*1fa4b3daSHector Dearman## Contributing
34*1fa4b3daSHector Dearman
35*1fa4b3daSHector DearmanPlease see [our contributor's guide](/CONTRIBUTING.md)
36