java — Android Studio переименовывает нативную библиотеку

Я создал проект Android Studio с поддержкой C ++, с одним модулем библиотеки. Файл C ++ с именем native-lib.cpp был автоматически добавлен в мой проект. Когда я собираю проект сейчас, выходное имя файла * .so libnative-lib.so,

Если я переименую native-lib.cpp ко всему прочему (используя функцию рефакторинга / переименования) файл C ++ просто исчезает из моего проекта, пока я не изменю имя обратно.

Итак, как мне переименовать родную библиотеку или установить имя выходного файла?

2

Решение

Я рад, что ты смог понять это. Я отправлю ответ здесь для справки в любом случае.

CMakeLists.txt <<= должен в корневом каталоге вашего модуля приложения (my_project/app/CMakeLists.txt)

# https://developer.android.com/studio/projects/add-native-code.html#create-cmake-script# Minimum version of CMake
cmake_minimum_required(VERSION 3.4.1)# adding CEC library
# add_library structure:    add_library(lib_name  lib_type_STATIC_or_SHARED  source_file_path)
add_library(my_lib_name SHARED src/main/jni/my_cpp_file.cpp)# include_directories is to provide the path to you native lib code
# include_directories structure:    include_directories(native_lib_folder_path)
include_directories(src/main/jni/)# adding Android log library
# find_library is used to find NDK API libraries (built in NDK libs)
# find_library structure:   find_library(name_you_want_to_call_the_lib  lib_name_in_ndk_api)
find_library(log-lib log)# linking log lib to our native lib
# once you find the library, you have to link that library with your native library
# target_link_libraries structure:  target_link_libraries(you_native_lib  lib_found_using_find_library)
target_link_libraries(my_lib_name ${log-lib})

Затем в build.gradle сделайте следующее

externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}

Затем выполните полную очистку, обновите проект C ++, используя параметр, предоставленный в меню «Сборка».

И как @bitwise опубликовал, если вам нужно, удалите содержимое build а также .externalNativeBuild папку и пересоберите проект.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector