Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

Latest commit

 

History

History
113 lines (88 loc) · 3.44 KB

README.md

File metadata and controls

113 lines (88 loc) · 3.44 KB

DEPRECATION NOTICE: DEVELOPMENT MOVED TO https://github.com/ookiineko/android-image-tools

android-tools for Cygwin

Git repository to make it easier to package certain command line utilities provided by android-tools.

Status

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

Dependencies

On Cygwin please install these headers to /usr/include.

The following libraries are required by android-tools:

  1. PCRE
  2. Google Test
  3. protobuf
  4. brotli
  5. zstd
  6. lz4
  7. zlib

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:

  1. A C and C++ compiler (either GCC >= 10.X or clang)
  2. The Go compiler
  3. CMake
  4. Perl

Currently the build system doesn't check whether all of these are installed.

Installation

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

Generating tarballs

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.

See also

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.