Gradle没有使用ndkBuild进行编译

时间:2016-07-25 16:44:07

标签: android c++ android-studio android-ndk android-gradle

我在eclipse中配置了一个android项目,它与ant和ndk-build一起运行,并且有一些自定义的Android.mk和Application.mk文件。我需要将它们移到Android Studio,我不想使用随附的CMake,所以我只想保留旧的.mk文件。为此,我从一个简单的hello world示例开始,使用以下代码:

这里是native-lib.cpp:

GetAsArray(HashMap<Long, extends dbObject> map)

这里是我的gradle文件:

? super dbEmployee

这里是Android.mk文件:

#include <jni.h>
#include <string>

extern "C"
{

jstring Java_com_comscore_android_app_MainActivity_stringFromJNI(
        JNIEnv* env,
        jobject /* this */) {
    std::string hello = "Hello from C++ lalalaaaaaa";
    return env->NewStringUTF(hello.c_str());
}
}

最后是Application.mk:

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.1"
    defaultConfig {
        applicationId "com.comscore"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            ndkBuild {
                arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"
            }
        }
    }
    externalNativeBuild{
        ndkBuild{
            path "src/main/jni/Android.mk"
        }
    }
...
}

但C编码从未编译过,任何机构都可以帮我解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

它没有编译任何东西,这就是问题所在。现在我在手动清理构建文件夹后解决了