i2pd for Android
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
wipedlifepotato 5e4bdfb7ec Merge pull request #1 from PurpleI2P/master and some changes in compiling (README + new file for libboost) 2 years ago
.github/workflows trunk build, ndk r23c, target 32 2 years ago
app 2.46.0 2 years ago
binary/jni fix binary build 2 years ago
contrib Merge pull request #1 from PurpleI2P/master and some changes in compiling (README + new file for libboost) 2 years ago
fastlane/metadata/android [i18n] add/update fastlane descriptions 2 years ago
gradle/wrapper fix permissions asker activity start on some android 11+ devices 2 years ago
.gitignore import android code from i2pd repo 5 years ago
.gitmodules [jni] switch to build from sources (#32) 3 years ago
LICENSE upload license 4 years ago
README.md Merge pull request #1 from PurpleI2P/master and some changes in compiling (README + new file for libboost) 2 years ago
build.gradle fix permissions asker activity start on some android 11+ devices 2 years ago
build.xml import android code from i2pd repo 5 years ago
gradle.properties fix start on API lesser 21 4 years ago
gradlew update gradlew, gh action 3 years ago
gradlew.bat update gradlew, gh action 3 years ago
settings.gradle i2pd 2.33.0-63, tabulation, gradle configuration 4 years ago

README.md

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;31.0.0" "cmake;3.18.1" "ndk;22.1.7171670"

Clone repository with submodules

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

Compile application

export ANDROID_SDK_ROOT=/opt/android-sdk
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/22.1.7171670

pushd app/jni
./build_boost.sh

pushd boost/build/out
cp ../../../../../contrib/fix_boost.sh .
bash fix_boost.sh
popd

./build_openssl.sh
./build_miniupnpc.sh
popd

./gradlew 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). But you would to use WSL. Is better way in some things.

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_SDK_ROOT 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