Как использовать включенные зависимости Android из NDK? - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать SQLCipher в Android.Они упростили интеграцию путем добавления зависимости:

implementation 'net.zetetic:android-database-sqlcipher:4.2.0@aar'

У них есть хорошие и простые примеры использования этого в Java, но мое приложение - c ++, и я использую NDK.SQLCipher - это прежде всего C-код, так что я знаю, что он связан с некоторым скомпилированным C-кодом.Доступны ли заголовки для использования?Где устанавливаются эти зависимости?Я разработчик iOS для новичков в Android, поэтому мне кажется, что все должно быть просто, но я что-то упускаю.

Ответы [ 2 ]

1 голос
/ 28 июня 2019

В настоящее время не поддерживается использование зависимостей C / C ++ от AAR. Мы работаем над этим здесь: https://github.com/android-ndk/ndk/issues/916

Но я должен заметить, что даже когда это будет завершено, sqlcipher действительно должен выбрать выставить эту библиотеку. AAR в настоящее время не содержит включений и может быть нестабильным API, поэтому они могут не раскрывать его.

1 голос
/ 28 июня 2019

Чтобы библиотека могла быть использована непосредственно ndk, вам нужна версия .so для ссылки. Если вы используете библиотеку, подобную этой, вы будете использовать JNI для доступа к ней через Java.

Я бы рекомендовал не взламывать что-либо, чтобы получить прямой доступ к их файлам .so. Вполне возможно, что их Java-код имеет бизнес-логику, которая предотвращает ошибки или инициализированные вещи, которые не настроены должным образом, если вы идете прямо против их .so файла.

...