Building on Android
There are two versions: with QT and without QT.
You need to install Android SDK, NDK and QT with android support.
- SDK (choose command line tools only)
- QT(for QT only). Choose one for your platform for android. For example QT 5.6 under Linux would be this file
You also need Java JDK and Ant.
QT-Creator (for QT only)
Open QT-creator that should be installed with QT. Go to Settings/Android and specify correct paths to SDK and NDK. If everything is correct you will see two set available: Android for armeabi-v7a (gcc, qt) and Android for x86 (gcc, qt).
Take following pre-compiled binaries from PurpleI2P's repositories.
git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git git clone https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git git clone https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git git clone https://github.com/PurpleI2P/android-ifaddrs.git
Building the app with QT
qt/i2pd_qt/i2pd_qt.proin the QT-creator
- Change line
MAIN_PATH = /path/to/librariesto an actual path where you put the dependencies to
- Select appropriate project (usually armeabi-v7a) and build
- You will find an .apk file in
Building the app without QT
- Change line
android/jni/Application.mkto an actual path where you put the dependencies to
ndk-build -j4from android folder
- Create or edit file 'local.properties'. Place 'sdk.dir=
' and 'ndk.dir= '
ant clean debug
Creating release .apk
In order to create release .apk you must obtain a Java keystore file(.jks). Either you have in already, or you can generate it yourself using keytool, or from one of you existing well-know certificates. For example, i2pd release are signed with this certificate.
Create file 'ant.properties':
key.store='path to keystore file' key.alias='alias name' key.store.password='keystore password' key.alias.password='alias password'
ant clean release