我幾乎讀了關於該主題的幾乎每個關於stackoverflow的問題。 我瀏覽了其他正在使用AS + NDK + gradle構建其他應用程序將包含的aar的其他人的文檔和工作筆記。Android Studio,gradle,ndk,aar和幾個本地共享庫的包含
我能夠在不同的多項目設置中構建.so,其結構與一個方面顯示的不同:它沒有第一個jni /圖層。
我添加了額外的jni層,以便我有一個sharedObjectLib#2 /層次結構。在那個jni/dir中,我擁有的是一個Android.mk,其唯一目的是包含$(調用all-subdir-makefiles)。在我這樣做之後,gradle build會報告NDK失敗: 「錯誤:(89)Android NDK:警告:此項目中沒有模塊可以構建!」
我似乎無法做到的是將多個共享對象'.so'作爲aar的一部分。
我真的很想知道(a)它是否可行;和(b)一些指向實際執行該操作的鏈接和/或gradle.build文件的示例。
這裏是我目前擁有的結構 - 跳過Android Studio創建的常用目錄(v。1.2.2,btw)。
--rootProject/
--build.gradle
--gradle.properties
--local.properties
--settings.gradle
--rootProject.iml
--app/
--moduleProjectThatBuildsAAR/
--build.gradle
--build/
--libs
--src/
--main/
--res/
--AndroidManifest.xml
--jni/
--Android.mk (does include $(call all-subdir-makefiles))
--Application.mk
--sharedObjectLib#1/
--build.gradle
--src/
-- androidTest/
-- main/
--java/
--jni/
-- Android.mk
-- Application.mk
-- *.c and *.h files
--libs/
--obj/
-- build.gradle
這是相當複雜的,我希望專家會幫助簡化。
謝謝!
這是更方便通過操縱'tasks'收集禁用本地構建和保持'srcDirs'輕鬆導航的C++文件和他們的頭,見例如http://stackoverflow.com/a/32640823/192373 –