我想用android gradle實驗性插件0.7.0-alpha5構建一個應用程序。gradle實驗庫鏈接順序
我有一個應用程序「mainProject」依賴於本地庫「nativeLibrary」,這本身就依賴於其他幾個庫(無論是預編譯或不)
當我建立我的nativeLibrary項目,一切編譯和鏈接好。該庫以我在
dependencies
{
lib1
lib2
lib3
}
塊中給出的順序鏈接。
當我嘗試構建mainProject時,項目無法鏈接,因爲庫傳遞給g ++編譯器的順序是錯誤的(以隨機順序),這裏是對options.txt的提取主要項目:
-shared
-Wl,-soname,mainProject.so
-o
// bunch oh .o files
lib2 // random order
lib3
lib1
-Wl,--no-undefined
-Wl,-z,noexecstack
-Wl,-z,relro
-Wl,-z,now
--sysroot=somePath
-Wl,--build-id
-LPathToC++Compiler
-lc++_static
-no-canonical-prefixes
-L/somePth
-latomic
-llog
-landroid
-lEGL
-lGLESv2
-lz
爲了有其鏈接,我必須手動添加標籤
-Wl,--start-group
lib2
lib3
lib1
-Wl,--end-group
是否有使用gradle這個實驗的插件,以指定的庫鏈接順序自動化的方式?或者我必須在嘗試鏈接之前創建一個任務來編輯options.txt文件?
謝謝!
編輯:
我發現一些有用的東西上gradle這個論壇,但它似乎並不與工作gradle這個實驗性:
錯誤已在0.8.1得到糾正:https://issuetracker.google.com/issues/37095946 – downstroy