Чтобы ваши приложения смогли работать с Рутокенами, в том числе в 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\arme64-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.gradleandroid { defaultConfig { minSdkVersion 21 ndk { abiFilters "armeabi-v7a", "arm64-v8a" } } … dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) }