这是.cpp文件,代码是
JNIEXPORT jint JNICALL Java_com_example_compute_MainActivity_AddNumbers(JNIEnv *env, jobject obj, jint v1, jint v2)
{
_android_log_print(ANDROID_LOG_VERBOSE, "VaxVoIP", "The value of 1 + 1 is %d", 1+1);
return -1;
//return (v1 + v2);
}
这是Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
这里我们提供模块名称和源文件
LOCAL_MODULE := add
LOCAL_LDLIBS := -llog
LOCAL_SRC_FILES := add.cpp\
add.h\
include $(BUILD_SHARED_LIBRARY)
我正在尝试解决的另一个错误是制作.so文件
_android_log_print(ANDROID_LOG_VERBOSE, "VaxVoIP", "The value of 1 + 1 is %d", 1+1);
was not declared in this scope
答案 0 :(得分:1)
约翰是对的。我刚刚通过加入#include <android/log.h>
并在android.mk文件中添加 LOCAL_LDLIBS + = -llog -ldl -landroid 来解决问题
答案 1 :(得分:0)
如果那是整个.cpp文件,那么你需要#include定义_android_log_print的东西。
答案 2 :(得分:0)
别忘了包含
#include <android/log.h>
答案 3 :(得分:0)
这可能是因为缓冲区。将\n
放在字符串的末尾。
__android_log_print(ANDROID_LOG_VERBOSE, "VaxVoIP", "The value of 1 + 1 is %d\n", 1+1);
另外,不要忘记使用双下划线而不是单个下划线。