我正在尝试使用NDK构建Android构建系统内的Android本机模块。 我的模块在使用Android模块make命令构建时没有任何错误,可以正确构建。 但是,当我尝试使用NDK生成安装程序时,我正面临着android系统包含文件的问题。 我的模块结构是:使用NDK构建Android本机代码
android
|
external
|
MyModule
|
jni --> Android.mk
mysharedobj --> Android.mk
我的本机模块包括很多Android包括如
#include <JNIHelp.h>
#include "android_runtime/AndroidRuntime.h"
#include <gui/Surface.h>
#include <gui/ISurface.h>
随着NDK文档的帮助下,我才得以解决包括错误,但我面对somre错误, 例如:
jni/com_my_module_NativeInterface.cpp:3:21: fatal error: JNIHelp.h: No such file or directory compilation terminated.
- >用于解决JNIHelp.h包括错误,我已经加入下面的行中Android.mk
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../../../libnativehelper/include/nativehelper
这再次多一个错误之后,
jni/../../../libnativehelper/include/nativehelper/JNIHelp.h:27:24: fatal error: cutils/log.h: No such file or directory compilation terminated.
- >为了解决上述错误我已经改性Android.mk
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../../../libnativehelper/include/nativehelper \
$(LOCAL_PATH)/../../../system/core/include \
这再次多一个错误后
/home/user/android-ndk-r8e/platforms/android-3/arch-arm/usr/include/linux/uio.h:18:8: error: redefinition of 'struct iovec'
jni/../../../system/core/include/cutils/uio.h:33:8: error: previous definition of 'struct iovec'
如何成功构建本地模块使用android系统包含文件? 请帮帮我。