2013-08-22 34 views
0

我正在嘗試使用Android NDK創建一個模塊,但似乎無法獲取生成程序來獲取路徑變量。我曾嘗試將其設置爲在Cygwin的環境變量:在Cygwin中設置NDK_MODULE_PATH變量

$ echo $NDK_MODULE_PATH 
/cygdrive/c/dev/code/git/android_source 

我也Android.mk文件中指定:

#=================================== 
LOCAL_PATH:= $(call my-dir) 
NDK_MODULE_PATH := $(LOCAL_PATH)/../../code/git/android_source/ 
include $(CLEAR_VARS) 

LOCAL_MODULE_TAGS := user 
LOCAL_MODULE := libFilters 
LOCAL_SRC_FILES := SkewFilter.cpp SkewFilter.h 

LOCAL_LDLIBS := -llog 
LOCAL_EXPORT_LDLIBS := -lz 
LOCAL_SHARED_LIBS := libskia 

include $(BUILD_SHARED_LIBRARY) 
#=================================== 

$(call import-module,libskia) 

最終的結果仍然是這樣的:

$ ndk-build 
Android NDK: jni/Android.mk: Cannot find module with tag 'libskia' in import path 
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ? 
Android NDK: The following directories were searched: 
Android NDK: 
jni/Android.mk:17: *** Android NDK: Aborting. . Stop. 

任何人都知道我做錯了什麼?

我發現這個問題How to specify directory for NDK_MODULE_PATH但它沒有任何幫助。

回答

0

我想出了我做錯了什麼。這條線在Android.mk文件需要從改變:

$(call import-module,libskia) 

$(call import-module,external/skia) 

調用導入模塊時,它不會做該模塊的遞歸搜索所以它需要的完整路徑相對於您的NDK_MODULE_PATH(NDK_MODULE_PATH + path_to_module)。

ndk-build打印的錯誤消息似乎是錯誤的,因爲它沒有在NDK_MODULE_PATH變量中列出任何路徑,但它們在那裏並且它使用它們。

希望這可以幫助別人。

+0

不幸的是,這並沒有爲我工作。既不調整導入模塊也不添加NDK_MODULE_PATH的完整路徑使錯誤消息消失。我懷疑一些惱人的問題是斜線是原因。 –