Я добавил библиотеку в папку Android aosp vendor и успешно создал общие файлы lib (скажем, libmyvendor.so). И проверил, что .so файлы созданы под system/lib
и system/lib64
. Перепрошита на устройстве и работает нормально здесь.
Для отладки моего приложения ndk я скопировал .so файлы в Android путь sdk / ndk / {versionNumber} / platform / android -28 / арка-x86 / USR / Lib. Также в папке archx86_64 / usr / lib64. Сделал недействительным и перезапустите Android Studio. Теперь я пытаюсь найти или добавить библиотеку libmyvendor в моем приложении ndk, используя функцию cmake
find_library(mVendor libmyvendor)
Tried myvendor вместо libmyvendor . В обоих случаях cmake не смог найти его.
Затем попытался скопировать файлы libmyvendor.so в приложение ndk (в jniLibs / x86 / и x86_64 /). Скомпилировано, но app cra sh во время выполнения, говоря
UnSatifiedLinkError: dlopen failed library 'libcrypto.so' not found
Где libcrypto.so необходим как зависимый от проекта libmyvendor. И я застрял здесь.
Согласно моему предположению, libmyvendor является частью системных библиотек. NDK должен быть в состоянии найти его, используя find_library()
, так же, как мы находим liblog.so. Но это не может найти. Я что-то пропустил или испортил?