Ошибка «libsample.so» «Не найдена» при попытке использовать более одного cpp в Android JNI?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка «libsample.so» «Не найдена» при попытке использовать более одного cpp в Android JNI?

Сообщение Anonymous »


Я столкнулся с проблемой при попытке скомпилировать два файла C++, capplication4.cpp и sample.cpp, в моем проекте Android с использованием JNI и CMake. Два файла C++ находятся в том же каталоге, что и CMakeLists.txt. Файлы cpp в основном возвращают строку с помощью jni и работают правильно. Мой CMakeLists.txt выглядит следующим образом:

cmake_minimum_required (ВЕРСИЯ 3.22.1) проект("capplication4") add_library(${CMAKE_PROJECT_NAME} ОБЩИЙ # Перечислить исходные файлы C/C++ с относительными путями к этому CMakeLists.txt. образец.cpp capplication4.cpp) target_link_libraries(${CMAKE_PROJECT_NAME} # Список библиотек, ссылающихся на целевую библиотеку андроид бревно) Я загружаю две библиотеки в отдельные классы Java. Первый класс, загружающий capplication4, работает как положено. Однако второй класс, который использует почти идентичный код для загрузки образца, аварийно завершает работу и выдает следующую ошибку:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.capplication4-1kzsYruP0tDej6JvfkG1zw==/base.apk"],nativeLibraryDirectories=[/data /app/com.example.capplication4-1kzsYruP0tDej6JvfkG1zw==/lib/arm, /data/app/com.example.capplication4-1kzsYruP0tDej6JvfkG1zw==/base.apk!/lib/armeabi-v7a, /system/lib, /system /vendor/lib]]] не удалось найти "libsample.so"

Есть ли ошибка в CmakeLists.txt?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»