Skip to content

PurpleI2P/i2pd-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 12, 2025
8c533cb · Feb 12, 2025
Jul 29, 2024
Feb 12, 2025
Feb 12, 2025
Apr 29, 2022
Feb 12, 2025
Jan 8, 2023
Jul 21, 2024
Jul 21, 2024
Apr 25, 2021
Jul 29, 2024
Jan 8, 2023
Jun 6, 2020
Jul 21, 2024
Jan 28, 2022
Jan 28, 2022
Oct 15, 2020

Repository files navigation

GitHub release License Android CI

i2pd android

This repository contains Android application sources of i2pd

Get it on F-Droid

How to build

Install g++, OpenJDK 11+, gradle 5.1+

sudo apt-get install g++ openjdk-11-jdk gradle

If your system provides gradle with version < 5.1, download it from gradle homepage:

https://gradle.org/install/

Download and prepare Android SDK for building

Android SDK Available here:

https://developer.android.com/studio#downloads

Download Android SDK, unpack it to temporary directory /tmp/anrdoid-sdk and install it (in /opt/android-sdk for example) with required packages

mkdir /tmp/android-sdk
cd /tmp/android-sdk
wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
unzip commandlinetools-linux-8092744_latest.zip
# install required tools
./cmdline-tools/bin/sdkmanager --sdk_root=/opt/android-sdk "build-tools;33.0.1" "cmake;3.22.1" "ndk;23.2.8568313"

Clone repository with submodules

git clone --recurse-submodules https://github.com/PurpleI2P/i2pd-android.git
cd i2pd-android

Compile application

# if you are not using Java 11 by default:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

export ANDROID_HOME=/opt/android-sdk
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.2.8568313

pushd binary/jni
./build.sh -d
popd

gradle clean assembleDebug

You will find APKs in app/build/outputs/apk

Building on Windows

For building on Windows you must use MSYS2 with mingw64 or ucrt64 shell and preinstalled gcc ( package mingw-w64-x86_64-gcc or mingw-w64-ucrt-x86_64-gcc).

Java 11 can be downloaded from jdk.java.com

Download Android SDK command line tools for Windows, unpack and install it replacing --sdk_root= path.

ANDROID_HOME variable must point to SDK using linux-way path, like /c/dev/android-sdk when SDK installed to C:\dev\android-sdk.

Gradle can be called with ./gradlew command inside project root, or you can install it using pacman and call gradle like on linux.

Release signing

Current releases signed with certificate fingerprint (SHA-256):

FC:C3:C7:34:9E:22:6A:77:B3:70:46:BB:00:FD:04:BB:A5:30:32:21:01:F8:62:F3:6D:8C:3D:B0:EB:B6:35:20