2015-12-19 92 views
7

在爲Android NDK的文檔,下面的語句是存在:Android.mk應該是哪裏?

的Android.mk文件駐留在項目的JNI /目錄下的子目錄[...] http://developer.android.com/ndk/guides/android_mk.html

我可以從這裏解釋一個Android.mk文件應該被放置在[project_path]/jni/[module_name]/Android.mk,每個模塊都有自己特定的Android.mk文件,因爲這是區分它與應用程序範圍Application.mk文件,但是當我執行ndk-build時,我得到foll由於錯誤消息:

的Android NDK:沒有Android.mk下./jni
的Android NDK:如果這是故意的,請確定APP_BUILD_SCRIPT指向
的Android NDK:一個有效的NDK構建腳本。

我收集從我應該建立一個單一的Android.mk文件旁邊我Application.mk文件或Application.mk定義APP_BUILD_SCRIPT指向一個單一Android.mk文件。這與文檔相矛盾,並且讓我想知道爲什麼當Android.mk將包含所有模塊的定義時,爲什麼還需要多個生成文件 - 這也可以放在Application.mk中。

讀一對夫婦NDK樣本項目我發現,事實上,Android.mk文件在同一目錄Application.mk並對其執行ndk-build似乎工作。

缺什麼?

回答

0

我可以回答你的至少一些問題。你說的文檔有點令人困惑。如果您使用的是單個本地模塊,Application.mk的確看起來可能是多餘的 - 但是,有幾件事只能由Application.mk設置(您可以在這裏查看:Application.mk)。 Application.mk適用於適用於所有模塊的設置,而Android.mk適用於特定的模塊設置。事實上,通常簡單的項目只有一個Android.mk,它駐留在與Application.mk相同的文件夾中。

您可以定義放置它們的位置,也取決於如何構建代碼 - 例如,如果您使用「ndk-build」和commandLine命令構建ndk任務,則將文件夾路徑作爲論據。根據我的經驗,他們通常位於jni文件夾下。