我正在嘗試使用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系統包含文件? 請幫幫我。