Я пробовал пометить их как Исключено из IDE, но безрезультатно.
Есть ли у меня другие варианты?
Предварительно
Я работаю над проект, содержащий одну из моих библиотек C++, которую при создании для Android необходимо связать с несколькими библиотеками.
- Библиотека линейной алгебры Эйгена (которая является заголовком только).
- Выпуск OpenCV для Android
- Boost для Android в виде готовых статических библиотек, с которыми я взаимодействую, используя файлы заголовков
Моя проблема
Мне не нужно изменять исходные коды моей библиотеки внутри Android Studio, мне нужно только связать ее с зависимостями и собрать для использования в моем Android Приложение.
Когда Android Studio запускается, она проходит длительный процесс обновления индексов для файлов заголовков, которые не являются частью моего активного процесса разработки внутри IDE.
Я бы предпочел, чтобы Android Studios Linter/LSP полностью их игнорировала.
Процесс включает в себя индексирование > настройку конфигураций сборки > повторное индексирование и настройка конфигурации запуска, что занимает от 15 до 20 минут на моем компьютере с оперативной памятью 32 ГБ и процессором 5 ГГц. В течение этого времени я не могу в полной мере использовать возможности IDE. Это раздражает, и я хочу решить эту проблему.

Мой вопрос
Я пробовал выбрать папку > щелкните правой кнопкой мыши > пометить каталог как > исключенный, но это ничего не меняет. Файлы заголовков все равно индексируются.
Можно ли еще что-нибудь сделать, чтобы предотвратить массовое индексирование?
Ниже я добавил настройку сборки на основе CMake для части NDK моего проекта, если это поможет.
Настройка сборки
Все связаны вместе в файле CMakeLists.txt
# path/to/my_library/CMakeLists.txt
add_library(my_library
/path/to/stuff.cpp
)
if (ANDROID)
### Eigen ###
if (NOT TARGET Eigen3::Eigen)
add_subdirectory(eigen)
endif ()
if (NOT TARGET prmcl)
add_subdirectory(prmcl/library)
endif ()
### OpenCV ###
set(OpenCV_DIR path/to/opencv-android-sdk/OpenCV-android-sdk/sdk/native/jni)
find_package(OpenCV REQUIRED)
### Boost ###
set(Boost_DIR path/to/boost/${CMAKE_ANDROID_ARCH_ABI})
add_library(boost_math STATIC IMPORTED)
set_target_properties(boost_math PROPERTIES IMPORTED_LOCATION ${Boost_DIR}/lib/libboost_math_c99.a)
# amalgamate the used boost libraries
set(Boost_LIBRARIES boost_math)
target_include_directories(my_library
PUBLIC
${Boost_DIR}/include
)
target_link_libraries(my_library
${OpenCV_LIBS}
${Boost_LIBRARIES}
Eigen3::Eigen
)
endif ()
Затем я могу использовать my_library для связывания с моей оболочкой NDK в корневом файле CMake проекта
# path/to/CMakeLists.txt
project("NativeWrapperToMyLibrary")
add_subdirectory(my_library)
add_library(${CMAKE_PROJECT_NAME} SHARED
src/wrapper.cpp
)
target_link_libraries(${CMAKE_PROJECT_NAME}
android
log
my_library
)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ader-files