强制使用AndroidStudio& Gradle to ndk {}使用我的Android.mk?

时间:2017-09-27 19:23:57

标签: android c++ android-ndk android-gradle build.gradle

我想知道是否有人要求AndridStudio使用我自己的Android.mk文件?

我问这个是因为我的jni代码有点集中了我的其他项目的源代码(在jni文件夹之外)。我通过自己的Android.mk文件管理它以使其正常工作。但是,经过一定的更新后,似乎Gradle的“ndk {}”会创建自己的Android.mk版本并破坏我的项目。

例如,以下是我的jni代码结构示例:

|- other_project/
|   |- includes/
|   |- other_code.cpp
|
|- android_project
    |- app/src/main/
                |- java/
                |- jni/
                    |- Android.mk
                    |- Application.mk
                    |- code.cpp

和我自己的Android.mk

// ... some other settings ...
LOCAL_C_INCLUDES := \
    $(LOCAL_PATH) \
    $(LOCAL_PATH)/../../../../other_project/include/
LOCAL_SRC_FILES := \
    ../../../../other_project/other_code.cpp \
    code.cpp

在我的build.gradle中:

ndk {
        moduleName = "xxxx" // module for standalone processing
        ldLibs "log"
        stl "stlport_shared"
        cFlags "-DDEV_NDK=1 -v"
    }

我知道这是使用其他Android.mk(基于ndk设置自动生成),因为在我添加ndk中的cFlags字段之前,我的一些自定义c标志(在我自己的Android.mk中)丢失了}。

所以我的问题是:如果有任何办法我可以强迫ndk {}使用我的Android.mk构建?或者,如何在ndk {}中添加适当的选项以生成类似的Android.mk,其中包含jni文件夹外的.cpp / .h文件?

0 个答案:

没有答案