1、在Android.mk文件中可以打印一些信息,非常便于理解。有三种方式:
$(info "HelloWorld") #打印信息
$(warning "HelloWorld") #打印信息
$(error "HelloWorld") #打印信息
2、下面给出我的Android.mk文件源码示例:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/JimmyMath/inc
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Demo/inc
Jimmy_src_files := $(wildcard *.cpp $(LOCAL_PATH)/JimmyMath/src/*.cpp)
Jimmy_src_files += $(wildcard *.c $(LOCAL_PATH)/Demo/src/*.c)
$(info $(Jimmy_src_files)) #打印信息
LOCAL_MODULE := JimmyHo
LOCAL_SRC_FILES := JNI.cpp $(Jimmy_src_files)
include $(BUILD_SHARED_LIBRARY)
3、JNI.cpp源码示例:
#include <jni.h>
#include <string>
using namespace std;
#include <JimmyMath.h>
extern "C"
#include <demo.h>
extern "C"
JNIEXPORT jstring JNICALL
Java_com_terawins_www_JimmyHo_Java_1Interface_GetHellString(JNIEnv *env, jobject instance) {
// TODO
string str = "Good Morning, JimmyBrown .";
return env->NewStringUTF(str.c_str());
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_terawins_www_JimmyHo_Java_1Interface_JimmyMath(JNIEnv *env, jobject instance,
jint n1, jint n2) {
return Add(n1, n2);
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_terawins_www_JimmyHo_Java_1Interface_Demo(JNIEnv *env, jobject instance, jint n1,
jint n2) {
return Sub(n1, n2);
}
---- The End.