Сборка для Android¶
Существуют 2 версии: с использованием QT и без него
Необходимые пакеты¶
Требуются Android SDK, NDK и QT с поддержкой андроида (для QT).
- SDK (выбрать command line tools only)
- NDK
- QT(только для QT). Выбрать версию для андроида для вашей платформы. Например QT 5.6 под линукс будет этот файл
Также потребуется Java JDK и Ant.
QT-Creator (только для QT)¶
Запустить QT-creator, который должен быть установлен вместе с QT.Идти в Settings/Android и указать пути к SDK and NDK. Если все сделано правильно то должно появиться:Android for armeabi-v7a (gcc, qt) и Android for x86 (gcc, qt).
Библиотеки¶
Следующие собранные библиотеки следует взять и репозитария PurpleI2P.
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
Сборка с QT¶
- Открыть qt/i2pd_qt/i2pd_qt.pro в QT-creator
- Поменять строчку MAIN_PATH = /path/to/libraries на директорию где лежать зависимости из предыдущего пункта
- Выбрать проект для целевой платформы (как правило armeabi-v7a) и собрать
- .apk файл появится в android-build/bin
Сборка без QT¶
- Поменять строку I2PD_LIBS_PATH в android/jni/Application.mk на директорию с зависимостями
- Запустить команду „ndk-build -j4“ из директории android
- Поправить файл „local.properties“. Строчки „sdk.dir=<путь к SDK>“ и „ndk.dir=<путь к NDK>“
- Run „ant clean debug“
Релизный .apk¶
Релизный .apk следует подписать своей подписью для чего требуется Java keystore file(.jks). Либо взять уже существующий, либо сделать новый с помощью keytool либо сконвертировать какой нибудь из своих сертификатов. Например i2pd подписан этим сертификатом.Создать файл „ant.properties“key.store=“путь к keystore file“key.alias=“alias name“key.store.password=“keystore password“key.alias.password=“alias password“Запустить „ant clean release“