gpt4 book ai didi

android - Gradle 未使用 ndkBuild 进行编译

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:31 25 4
gpt4 key购买 nike

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

这里是 native-lib.cpp:

#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());
}
}

这是我的 gradle 文件:

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"
}
}
...
}

这里是 Android.mk 文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := native-lib.cpp
LOCAL_MODULE := native-lib


LOCAL_LDLIBS := -llog

LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -O0 -std=c++0x -std=gnu++0x
LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -g -O0 -std=c++0x -std=gnu++0x

include $(BUILD_SHARED_LIBRARY)

最后是 Application.mk:

APP_ABI := all
APP_STL := gnustl_static

但 C 代码从未编译过,有人可以帮我解决这个问题吗?

谢谢!

最佳答案

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

关于android - Gradle 未使用 ndkBuild 进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com