|
1 |
| -[](https://travis-ci.com/JustPretender/fastboot) |
2 |
| - |
3 |
| -# Table of Contents |
4 |
| - |
5 |
| -1. [Fastboot-rs](#orgeb7b043) |
6 |
| - 1. [Fastboot](#org06bbc39) |
7 |
| - 2. [Dependencies](#org1b2ea3c) |
8 |
| - 3. [Compiling](#org51d4cf8) |
9 |
| - 4. [Cross-compiling](#org8069c3b) |
10 |
| - 5. [What's next?](#orgd342ab5) |
11 |
| - |
12 |
| - |
13 |
| -<a id="orgeb7b043"></a> |
14 |
| - |
15 | 1 | # Fastboot-rs
|
16 | 2 |
|
| 3 | +This crate provides a simple implementation of [Android's fastboot protocol]( |
| 4 | +https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md) |
| 5 | +in the form of a Rust trait. |
17 | 6 |
|
18 |
| -<a id="org06bbc39"></a> |
19 |
| - |
20 |
| -## Fastboot |
21 |
| - |
22 |
| -This crate provides a simple implementation of Android Fastboot Protocol in form of Rust Trait. To demonstrate how it can actually work I used [Libusb](http:libusb.info) |
23 |
| -to communicate with devices. Note, this project is just my Rust playground and has a lot to be improved. |
24 |
| - |
25 |
| - |
26 |
| -<a id="org1b2ea3c"></a> |
27 |
| - |
28 |
| -## Dependencies |
29 |
| - |
30 |
| -The trait itself doesn't have any extra dependencies. However, if you want to try the examples you must have |
31 |
| -***libusb*** installed. |
32 |
| - |
33 |
| - |
34 |
| -<a id="org51d4cf8"></a> |
35 |
| - |
36 |
| -## Compiling |
37 |
| - |
38 |
| -This library is written in Rust so to compile it you need Rust and Cargo installed. |
39 |
| - |
40 |
| - |
41 |
| -<a id="org8069c3b"></a> |
42 |
| - |
43 |
| -## Cross-compiling |
44 |
| - |
45 |
| -To cross-compile examples you will have to use Docker. To do that: |
46 |
| - |
47 |
| -- Build a docker image: |
48 |
| - |
49 |
| - `docker build -t "<name>" -f ./docker/Dockerfile ./docker` |
50 |
| - |
51 |
| -- Run compilation for supported targets. For Windows, for example: |
52 |
| - |
53 |
| - `docker run --rm -v "$(pwd)":/build/ "<name>" |
54 |
| - sh -c "PKG_CONFIG_PATH=$HOME/libusb PKG_CONFIG_ALLOW_CROSS=1 |
55 |
| - cargo build --target=x86_64-pc-windows-gnu --examples"` |
56 |
| - |
57 |
| - |
58 |
| -<a id="orgd342ab5"></a> |
59 |
| - |
60 |
| -## What's next? |
61 |
| - |
62 |
| -- Better tests; |
63 |
| -- More idiomatic Rust code; |
64 |
| -- Split the actual trait implementation. |
65 |
| - |
| 7 | +See [`examples/`](examples/) for how to use it, based on [`usbio/`](usbio/). |
0 commit comments