我有一个关于 android ndk 的问题。由于这是我的第一个应用程序,我编写了一个等效的 C++ 应用程序并首先在我的计算机上运行它,以确保没有逻辑错误。我使用 g++-4.6 编译器。程序运行完美。因此,我开始编写 Android 同类产品,但遇到了一些问题。当我ndk-build
在命令行中运行时,程序会编译。但是当我将程序侧加载到我的 android 上时,我收到了致命信号 11 (SIGSEGV) 错误。这是我的Android.mk
文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := com_native_method.cpp file2.cpp file3.cpp
LOCAL_C_INCLUDES := header.h
LOCAL_MODULE := com_native_method
include $(BUILD_SHARED_LIBRARY)
我通过 youtube 和在线论坛学习了 android 开发,并且我知道您必须使用等效类型(jint、jdouble 等)。但是当我在这种情况下运行 ndk-build 时,我注意到我收到错误告诉我jint
并且jdouble
没有在file2.cpp
and中定义file3.cpp
,所以我将它们改回 int、double,同时将 com_native_method.cpp 中的类型保留为 jdouble 和 jint . 我实在想不通问题所在。
感谢您的帮助,
谢谢,
交换