DEPRECATION NOTICE: DEVELOPMENT MOVED TO https://github.com/ookiineko/android-image-tools
Git repository to make it easier to package certain command line utilities provided by android-tools.
Currently the following tools are supported:
- adb
- fastboot
- dmtracedump, etc1tool, hprof-conv, sqlite3
- scrcpy
- mke2fs, make_f2fs, e2fsdroid (required by fastboot)
- e2fstool
- simg2img, img2simg, append2simg, ext2simg
- lpdump, lpmake, lpadd, lpflash, lpunpack
- mkbootimg, unpack_bootimg, repack_bootimg, avbtool
- mkdtboimg
- minigzip, mkbootfs, fec
- busybox, openssl, lz4
- cygpath
On Cygwin please install these headers to /usr/include.
The following libraries are required by android-tools:
Python 3 is optionally needed as a run-time dependency in order to use
the mkbootimg
, unpack_bootimg
, and repack_bootimg
scripts which
are all written in Python.
Additionally the following software is required at compile-time:
- A C and C++ compiler (either GCC >= 10.X or clang)
- The Go compiler
- CMake
- Perl
Currently the build system doesn't check whether all of these are installed.
Source tarballs containing an already patched version of all vendored dependencies are available on the GitHub Release Page.
These tarballs should be used for packaging and general installation. After the tarball was downloaded and extracted android-tools can be build and installed as follows:
$ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/ \
-DCMAKE_BUILD_TYPE=Release
$ cmake --build build
$ DESTDIR=install cmake --install build
New source tarballs can be created from the Git repository using:
$ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/ \
-DCMAKE_BUILD_TYPE=Release
$ ninja -C build package_source
Before a new release is uploaded a new git-tag(1)
should be created
for the release. Afterwards the tarball can be uploaded to the GitHub
Release Page.
The original Alpine Linux android-tools repo by nmeum which this project bases on.
The Arch Linux android-tools package by Anatol Pomozov
which inspired this project. Most definitions in the CMakeLists.txt
have been copied from Anatol's ruby script.