如何告诉Android Studio 3.0在哪里找到外部ndk源文件?

时间:2017-10-18 18:38:32

标签: makefile android-ndk android-studio-3.0

我们有一个ndk构建,作为构建的一部分(在一个普通的CMakeLists.txt文件中的add_custom_command中)运行一个gnu make。当我们构建Android Studio 3.0时,构建的错误消息会被部分处理,因此它们会在错误窗格中显示为实际错误,但双击它们不会做任何事情。

我们如何告诉Android Studio 3.0在哪里找到这些构建引用的源文件? (我们将把它们转换成cmake所需的工作的可能性小于零。它们并不是很小,它们涉及许多第三方项目,每个项目都有自己的自定义构建系统。 )。

1 个答案:

答案 0 :(得分:1)

这是一种黑客行为,但它解决了主要问题。将虚拟静态库添加到 CMakeLists.txt ,例如

FILE(GLOB_RECURSE
    DUMMY1_SOURCES
    /path/to/third-party/project/*.cpp)

add_library( dummy1 STATIC ${DUMMY1_SOURCES})

CMake 会在构建期间忽略此静态库,因为主要目标不依赖于它,但文件将出现在 cpp下的 ANdroid 视图中节点。

  

构建的错误消息已部分处理,因此它们会在错误窗格中显示为实际错误,但双击它们不会执行任何操作。

这很奇怪,我可以添加格式消息

message (ERROR "
    /home/alex/test/jni/Android.mk:10")

即使该文件不属于该项目,并且不是C ++,它仍然在我的Gradle控制台和消息窗口中显示为可点击链接。