Войти
ПрограммированиеФорумОбщее

Android Studio + NDK + подпапка в jni/src - отваливается автодополнение

#0
(Правка: 13:24) 13:23, 5 фев. 2019

Собственно проблемы нет для файлов которые лежат в корне jni/src.
Но мне нужна подпапка с файлами, которые тем не менее составляют просто файлы текущего Application.mk:
Так, в Application.mk описываю их так:

...
LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include $(LOCAL_PATH)/$(SDL_MIXER_PATH)/include $(LOCAL_PATH)/alx

LOCAL_SRC_FILES := main.cpp \
    alx/audio.cpp \
    alx/errors.cpp \
...

Android Studio перестаёт такие файлы правильно анализировать и прямо так и пишет "This file is not part of the project. Please include it .... and sync the project.".
Никакие реиндексы, перебилды, клины и всё такое не помогают.
Вытаскивать папку наружу тоже не вариант, т.к. это общая папка между кросс-платформами разного толка (SDL2).
Проект собственно базирован на SDL и как я понимаю в качестве билда используется как раз gradle + ndk_build, уже весь интернет обыскал по английски и куча проблем сходного толка, но ни одного попадания в неё точно или работающего решения так и не нарыл.
Всё свежее и только что обновлённое. Сам билд при этом работает прекрасно и выдаёт рабочий apk, но когда весь код в редакторе перечёркнут красным и автодополнение не работает - крайне бесит. Я в 21 веке программирую или где?


#1
16:26, 5 фев. 2019

Фух, всё-таки удалось найти как с этим справится тут: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/android_studio.md

Если вкратце, то нужно зайти в File -> Settings -> Experimental и там в графе "Gradle" снять галочку “Only sync the active variants”.
Бог знает даже что это должно означать, но после этого оно чего то еще докачало и проблема исчезла.

#2
(Правка: 17:27) 17:26, 16 фев. 2019

P.S.

Походу было не всё так просто.
Еще один файл добавил и он его так же в упор не видел.
Похоже, что помогает только глубинная подчистка всего проекта - полное стирание вручную папок build и .externalNativeBuild, потом подчистка/зануление кешей/переиндексация всего и вся, попытка снова скомпилировать, которая кончается ошибкой, потом еще раз подчистка всего и вся и в общем на какой то раз он раздупляется и начинает видеть файл.
Кто узнает более точную и короткую последовательность - пишите.

ПрограммированиеФорумОбщее