Начало встраивания в клиентские приложения
Существует несколько вариантов встраивания Рутокенов в клиентские Android-приложения.
Если вы используете систему сборки Gradle, то добавьте следующие строки в файл build.gradle:
Code Block | ||
---|---|---|
| ||
android {
defaultConfig {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
} |
Если ваше приложение будет работать с Рутокенами через PKCS#11, то:
- Добавьте в проект библиотекуиз Рутокен SDK. Библиотека находится в папке
<sdk>/mobile/android/pkcs11
.
Положите библиотеку librtpkcs11ecp.so в папки<project_root>/app/src/main/jniLibs/armeabi-v7a
и<project_root>/app/src/main/jniLibs/arm64-v8a
для соответствующих архитектур. - Добавьте в проект модуль-обертку PKSC#11 для Java из Рутокен SDK: pkcs11jna-<Version>.jar, где <Version> — версия библиотеки.
Модуль находится в папке <sdk>/java/samples/pkcs11/lib.
Положите pkcs11jna-<Version>.jar в папку<project_root>/app/libs.
(Рекомендуемый вариант) Встраивание с использованием rtpcsc.aar
Note |
---|
Необходимая функциональность поддерживается начиная с версии Панели управления Рутокен 1.9.0 и новее. |
Данный вариант встраивания совместим со всеми версиями Android, начиная с 5.0, и со всеми версиями targetSdk вашего приложения, начиная с 21.
Warning | ||
---|---|---|
| ||
Для работы с Рутокенами в Android приложении вам необходимо вызвать метод RtPcsc.setAppContext(context) из модуля rtpcsc-<Version>.aarи передать в него Android контекст вашего приложения. Наиболее подходящим местом для данного вызова будет метод Application.onCreate(). Без этого вызова работа с Рутокенами будет невозможна. Пример такого вызова можно увидеть в проекте Рутокен Демосмена. |
- Установите последнюю версию (1.9.0 или новее) Панели управления Рутокен из Google Play.
- Добавьте в проект AAR модуль из Рутокен SDK: rtpcsc-<Version>.aar, где <Version> — версия библиотеки.
Модуль находится в папке<sdk>/mobile/android/pcsc
. Положите rtpcsc-<Version>.aar в папку<project_root>/app/libs.
- Пересоберите приложение.
Встраивание с использованием rtserviceconnection.aar
Note |
---|
Данный вариант встраивания совместим со всеми версиями Android, начиная с 5.0, однако версия targetSdk вашего приложения не должна превышать 30. |
Необходимая функциональность поддерживается начиная с Панели управления Рутокен версии 1.2.6.
Warning | ||
---|---|---|
| ||
Версии rtserviceconnection.aar ниже 1.1.0 несовместимы с Панелью Управления Рутокен версии 1.9.0 и новее. |
- Установите Панели управления Рутокен версию 1.2.6 или новее из Google Play.
- Добавьте в проект библиотеку из Рутокен SDK. Библиотека находится в папке
<sdk>/mobile/android/pcsc
. Положите библиотеку librtpcsc.so в папки<project_root>/app/src/main/jniLibs/armeabi-v7a
и<project_root>/app/src/main/jniLibs/arm64-v8a
для соответствующих архитектур. - Добавьте в проект AAR модуль из Рутокен SDK: rtserviceconnection-<Version>.aar, где <Version>— версия библиотеки.
Модуль находится в папке<sdk>/mobile/android/libs
.
Положите rtserviceconnection-<Version>.aarв папку<project_root>/app/libs
. - Пересоберите приложение.
Встраивание без дополнительного AAR модуля
Note |
---|
Данный вариант встраивания совместим только с версиями Android, начиная с 5.0 и заканчивая 8.1; версия targetSdk вашего приложения не должна превышать 27 |
Данная схема работает с librtpcsc.so из SDK версии 040522 и ниже.
- Установите Панель управления Рутокен из Google Play.
- Добавьте в проект библиотеку из Рутокен SDK.
Библиотека находится в папке<sdk>/mobile/android/pcsc
. Положите библиотеку librtpcsc.so в папки<project_root>/app/src/main/jniLibs/armeabi-v7a
и<project_root>/app/src/main/jniLibs/arm64-v8a
для соответствующих архитектур. - Пересоберите приложение.
Чтобы ваши приложения смогли работать с Рутокенами, в том числе в Android 9 и новее:
- Установите последнюю версию (1.2.6 или новее) Панели управления Рутокен из Google Play;
Добавьте в проект последние библиотеки librtpkcs11ecp.so и librtpcsc.so из Рутокен SDK.
Библиотеки находятся в папках<sdk>\mobile\android\pkcs11\
и<sdk>\mobile\android\pcsc\.
Скорее всего библиотеки librtpkcs11ecp.so и librtpcsc.so в вашем проекте находятся в папках<project_root>\app\src\main\jniLibs\armeabi-v7a\
и<project_root>\app\src\main\jniLibs\arm64-v8a\
;
Убедитесь, что у вас последняя версия модуля-обертки PKSC#11 для Java – pkcs11jna<Version>.jar, где<Version>— версия библиотеки.
Модуль находится по пути<sdk>\java\samples\lib\ в
Рутокен SDK.
Положите pkcs11jna<Version>.jar в папку<project_root>\app\libs\;
Добавьте в проект Android Archive Library(AAR) модуль из Рутокен SDK: rtserviceconnection<Version>.aar , где<Version>— версия библиотеки.
Модуль находится по пути<sdk>\mobile\android\libs\ в
Рутокен SDK.
Положите rtserviceconnection<Version>.aar в папку<project_root>\app\libs\;
Пересоберите приложение.
Если вы используете систему-сборки Gradle, то добавьте следующие строки в файл build.gradleCode Block android { defaultConfig { minSdkVersion 21 ndk { abiFilters "armeabi-v7a", "arm64-v8a" } } … dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) }language text