У меня есть проект Android, настроенный в eclipse, который хорошо работает с 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-libLOCAL_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 никогда не компилируется, может ли кто-нибудь помочь мне с этой проблемой?
Спасибо!
ничего не компилировалось, вот в чем проблема. Теперь я решил после очистки папки сборки вручную
Других решений пока нет …