Android Studio создает нежелательные ссылки на исходные файлы Java в .iml файле - PullRequest
0 голосов
/ 21 марта 2019

Я создаю приложение для Android с файлами Java и C ++.

Я использую CMake для компиляции своего кода C ++ в общую библиотеку.Мой файл CMake использует некоторый кроссплатформенный код из нашей основной платформы.

Проблема в том, что по какой-то причине Android Studio генерирует ошибочные включения в исходные каталоги.Я думаю, что это из-за файла CMake, так как это единственное место, где я ссылаюсь на весь каталог.

Основная проблема заключается в том, что

<sourceFolder url="file://$MODULE_DIR$/../../../../../../../PLATFORM/src"

добавляет эту папку (и все, что находится под ней) в качестве исходной папки JAVA, которая включает в себя все виды материалов, которые я не хочу включать.Я только хочу, чтобы CMake имел доступ к этим папкам при компиляции библиотеки C ++.Мои файлы .java копируются в соответствии с решением dir.

Любые идеи о том, как предотвратить включение источников .java извне решения?

CMakeLists.txt (используется для компиляции библиотеки c ++)

file(GLOB src_platform "../../../../../../../../../../PLATFORM/src/platform.cpp")
file(GLOB_RECURSE src_jpeg "../../../../../../../../../../PLATFORM/src/ext/jpeg/*.c")
file(GLOB_RECURSE src_png "../../../../../../../../../../PLATFORM/src/ext/png/*.c")

add_library( # Sets the name of the library.
        native-library

        # Sets the library as a shared library.
        SHARED

        # Provides a relative path to your source file(s).
        ${src_platform}
        ${src_jpeg}
        ${src_png})

файл app.iml (файл решения IDEA, созданный и используемый Android Studio)

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
    <output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
    <exclude-output />
    <content url="file://$MODULE_DIR$/../../../../../../../PLATFORM/src">
      <sourceFolder url="file://$MODULE_DIR$/../../../../../../../PLATFORM/src" isTestSource="false" />
        </content>
    [...]
</component>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...