CMake не смог найти JNIC++

Программы на C++. Форум разработчиков
Ответить
Гость
 CMake не смог найти JNI

Сообщение Гость »


Я создал новый проект Android Studio с поддержкой C++ и ничего к нему не добавлял. Проект собирается, компилируется и запускается с помощью CMake. Затем я добавил следующие две строки кода в CMakeLists.txt внизу файла и получил ошибку сборки CMake.

find_package(Разработка КОМПОНЕНТОВ Java) # Строка 47 find_package(ТРЕБУЕТСЯ JNI) # Строка 48 И вот какую ошибку я получаю при сборке проекта

-- Найдено Java: /usr/lib/jvm/java-10-oracle/bin/java (найдена версия «10.0.1») найдены компоненты: Разработка -- Настройка не завершена, произошли ошибки! Ошибка CMake в /home/xxxxx/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (сообщение): НЕ удалось найти JNI (отсутствует: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY См. также «/home/xxxxxx/AndroidStudioProjects/MyApplication/app/.externalNativeBuild/cmake/release/x86_64/CMakeFiles/CMakeOutput.log». JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) Стек вызовов (сначала самый последний вызов): /home/xxxxxx/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) /home/xxxxxx/Android/Sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/FindJNI.cmake:314 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:48 (найти_пакет) Внешняя собственная генерация выпуска JSON: генерация JSON завершена с проблемами CMake запускается при вызове из командной строки, но по какой-то причине происходит сбой внутри Android Studio, и я не знаю почему.

ИЗМЕНИТЬ 1

Вот файл CMakeOutput.log

РЕДАКТИРОВАНИЕ 2

Это все, что есть в файле CMakeLists.txt. Он компилируется в cmd с помощью команды cmake.

cmake_minimum_required (ВЕРСИЯ 3.4.1) find_package (Разработка Java-КОМПОНЕНТОВ) find_package (ТРЕБУЕТСЯ JNI) Это вывод cmd

E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\build>cmake .. -- Настройка завершена -- Генерация завершена -- Файлы сборки записаны в: E:/Users/xxxxx/AndroidStudioProjects/MyApplication/app/build. Когда я пытаюсь добавить его и скомпилировать в Android Studio с помощью gradle, я получаю следующую ошибку в 64-разрядной версии Windows 10 pro
Microsoft Windows [версия 10.0.17134.112] (c) Корпорация Microsoft, 2018 г. Все права защищены. E:\Users\xxxxx\AndroidStudioProjects\MyApplication>gradlew build --stacktrace > Задача :app:generateJsonModelDebug Внешняя собственная генерация отладки JSON: запуск генерации JSON Внешняя собственная генерация отладки JSON: использование платформы версии 24 для ABI ARMEABI_V7A и минимальной версии SDK 24. Внешняя собственная генерация отладки JSON: обнаружение того, что файл сборки «E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\CMakeLists.txt» устарел по отношению к E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\.extern alNativeBuild\cmake\debug\armeabi-v7a\android_gradle_build.json Внешняя собственная генерация отладки JSON: перестройка JSON E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\.externalNativeBuild\cmake\debug\armeabi-v7a\android_gradle_build.json из-за: Внешняя собственная генерация отладки JSON: — изменен зависимый файл сборки. Внешняя собственная генерация отладки JSON: сохранение папки json 'E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\.externalNativeBuild\cmake\debug\armeabi-v7a", но регенерация проекта Внешняя собственная генерация отладки JSON: выполнение cmake Исполняемый файл: E:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe аргументы: -HE:\Users\xxxxx\AndroidStudioProjects\MyApplication\app -BE:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\.externalNativeBuild\cmake\debug\armeabi-v7a -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=андроид-24 -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=E:\Users\xxxxx\AndroidStudioProjects\MyApplication\app\build\intermediates\cmake\debug\obj\armeabi-v7a -DCMAKE_BUILD_TYPE=Отладка -DANDROID_NDK=E:\Android\SDK\ndk-bundle -DCMAKE_CXX_FLAGS= -DCMAKE_TOOLCHAIN_FILE=E:\Android\SDK\ndk-bundle\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=E:\Android\SDK\cmake\3.6.4111459\bin\ninja.exe -GAndroid Gradle - Ниндзя jvmArgs: Ошибка CMake в E:/Android/SDK/cmake/3.6.4111459/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (сообщение): НЕ удалось найти JNI (отсутствует: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) Стек вызовов (сначала самый последний вызов): E:/Android/SDK/cmake/3.6.4111459/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) E:/Android/SDK/cmake/3.6.4111459/share/cmake-3.6/Modules/FindJNI.cmake:314 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:4 (найти_пакет) -- Настройка не завершена, произошли ошибки! См. также «E:/Users/xxxxx/AndroidStudioProjects/MyApplication/app/.externalNativeBuild/cmake/debug/armeabi-v7a/CMakeFiles/CMakeOutput.log».
Ответить

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

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

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

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

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