Skip to content

Installation

Jordan Samhi edited this page Oct 23, 2026 · 1 revision

Build AndroLog once, configure your SDK tools, and define a command that works from any directory.

Requirements

Dependency Purpose
JDK and Apache Maven Compile and run AndroLog; the project targets Java 8 bytecode
Android SDK Platforms Resolve Android classes during instrumentation and reporting
Android SDK Build Tools Provide zipalign and apksigner
Android SDK Platform Tools Provide adb for capture or manual device operations
Android device or emulator Execute the instrumented APK
Web browser Open the standalone HTML report

Node.js is only needed for the report's JavaScript development tests. The Java bytecode target is not a guarantee that every dependency works on every JDK version.

Build from source

git clone https://github.com/JordanSamhi/AndroLog.git
cd AndroLog
mvn package

Maven creates target/androlog-0.1-jar-with-dependencies.jar. Check the CLI:

java -jar target/androlog-0.1-jar-with-dependencies.jar --help

Configure signing outside the repository

Instrumentation changes the APK, so the output must be aligned and signed. AndroLog uses the bundled test key. Parsing existing logs does not invoke signing tools.

mkdir -p "$HOME/.config/androlog"

Create $HOME/.config/androlog/config.properties with the following content. Replace VERSION and both paths with executables from your installed Android SDK Build Tools:

zipalignPath=/absolute/path/to/Android/sdk/build-tools/VERSION/zipalign
apksignerPath=/absolute/path/to/Android/sdk/build-tools/VERSION/apksigner

Use absolute paths without surrounding quotes. Java properties do not expand $HOME or ~. The files must exist and be executable.

The configuration bundled in the source tree deliberately has empty paths. src/main/resources/config.properties is tracked: keep your machine-specific paths in the external file instead of committing them or embedding them in a distributed JAR.

Define the command

Run this from the repository root after building:

androlog_jar="$(pwd -P)/target/androlog-0.1-jar-with-dependencies.jar"

androlog() {
  java -cp "$HOME/.config/androlog:$androlog_jar" \
    com.jordansamhi.androlog.Main "$@"
}

androlog --help

The external directory comes first on the classpath, so its configuration takes precedence. The JAR path is absolute: you can now change to an APK test directory and keep using androlog in this terminal.

For future terminals, save the helper in your shell configuration with androlog_jar set to the absolute JAR path. The wiki examples use Bash/Zsh syntax and the Unix classpath separator (:); Windows uses ; for the Java classpath and needs corresponding shell syntax.

Point to the Android SDK

androlog_sdk="/absolute/path/to/Android/sdk"
"$androlog_sdk/platform-tools/adb" devices

Use the SDK's platforms directory for -p. A specific platform's android.jar is also accepted. At least one device must be listed as device before using capture. Authorize USB debugging if the device is listed as unauthorized.

Continue with Quick Start.

Clone this wiki locally