Browse Source

Update build_notes_android.md

pull/1/head
orignal 8 years ago committed by GitHub
parent
commit
aedad5158b
  1. 58
      docs/build_notes_android.md

58
docs/build_notes_android.md

@ -1,29 +1,29 @@
Сборка для Android Сборка для Android
================== ==================
There are two versions: with QT and without QT. Существуют 2 версии: с использованием QT и без него
Pre-requesties Необходимые пакеты
-------------- ------------------
You need to install Android SDK, NDK and QT with android support. Требуются Android SDK, NDK и QT с поддержкой андроида (для QT).
- [SDK](https://developer.android.com/studio/index.html) (choose command line tools only) - [SDK](https://developer.android.com/studio/index.html) (выбрать command line tools only)
- [NDK](https://developer.android.com/ndk/downloads/index.html) - [NDK](https://developer.android.com/ndk/downloads/index.html)
- [QT](https://www.qt.io/download-open-source/)(for QT only). Choose one for your platform for android. For example QT 5.6 under Linux would be [this file](http://download.qt.io/official_releases/qt/5.6/5.6.1-1/qt-opensource-linux-x64-android-5.6.1-1.run ) - [QT](https://www.qt.io/download-open-source/)(for QT only). Выбрать версию для андороида для вашей платформы. Например QT 5.6 под лиункс будет [this file](http://download.qt.io/official_releases/qt/5.6/5.6.1-1/qt-opensource-linux-x64-android-5.6.1-1.run )
You also need Java JDK and Ant. Также потребуется Java JDK и Ant.
QT-Creator (for QT only) QT-Creator (только для QT)
------------------------ ------------------------
Open QT-creator that should be installed with QT. Запустить QT-creator, который должен быть установлен вместе с QT.
Go to Settings/Anndroid and specify correct paths to SDK and NDK. Идти в Settings/Anndroid и указать пути к SDK and NDK.
If everything is correct you will see two set avaiable: Если все сделано правильно то должно появиться:
Android for armeabi-v7a (gcc, qt) and Android for x86 (gcc, qt). Android for armeabi-v7a (gcc, qt) и Android for x86 (gcc, qt).
Dependencies Библиотеки
-------------- --------------
Take following pre-compiled binaries from PurpleI2P's repositories. Следущие собранные библиотеки следует взять и репозитария PurpleI2P.
```bash ```bash
git clone https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git 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/OpenSSL-for-Android-Prebuilt.git
@ -32,26 +32,26 @@ git clone https://github.com/PurpleI2P/android-ifaddrs.git
``` ```
Building the app with QT Сборка с QT
------------------------ ------------------------
- Open qt/i2pd_qt/i2pd_qt.pro in the QT-creator - Открыть qt/i2pd_qt/i2pd_qt.pro в QT-creator
- Change line MAIN_PATH = /path/to/libraries to an actual path where you put the dependancies to - Поменять строчку MAIN_PATH = /path/to/libraries на директорию где лежать зависимости из предыдущего пункта
- Select appropriate project (usually armeabi-v7a) and build - Выбрать проект для целевой платформы (как правило armeabi-v7a) и собрать
- You will find an .apk file in android-build/bin folder - .apk файл появится в android-build/bin
Building the app without QT Сборка без QT
--------------------------- ---------------------------
- Change line I2PD_LIBS_PATH in android/jni/Application.mk to an actual path where you put the dependancies to - Поменять строку I2PD_LIBS_PATH в android/jni/Application.mk на директорию с зависимостями
- Run 'ndk-build -j4' from andorid folder - Запустить команду 'ndk-build -j4' из директории andorid
- Create or edit file 'local.properties'. Place 'sdk.dir=<path to SDK>' and 'ndk.dir=<path to NDK>' - Поправить файл 'local.properties'. Строчки 'sdk.dir=<путь к SDK>' и 'ndk.dir=<путь к NDK>'
- Run 'ant clean debug' - Run 'ant clean debug'
Creating release .apk Релизный .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 ceritificates. For example, i2pd release are signed with this [certificate](https://github.com/PurpleI2P/i2pd/blob/openssl/contrib/certificates/router/orignal_at_mail.i2p.crt). Релизный .apk следует подписать своей подписью для чего требуется Java keystore file(.jks). Либо взять уже существующий, либо сделать новый с помощью keytool либо сконвертировать какой нибудь из своих сертификатов. Например i2pd пидписан этим [сертификатом](https://github.com/PurpleI2P/i2pd/blob/openssl/contrib/certificates/router/orignal_at_mail.i2p.crt).
Create file 'ant.propeties' Создать файл 'ant.propeties'
key.store='path to keystore file' key.store='путь к keystore file'
key.alias='alias name' key.alias='alias name'
key.store.password='keystore password' key.store.password='keystore password'
key.alias.password='alias password' key.alias.password='alias password'
Run 'ant clean release' Запустить 'ant clean release'

Loading…
Cancel
Save