gradle实验库link顺序

gradle experimental library link order

我正在尝试使用 android gradle 实验性插件 0.7.0-alpha5 构建应用程序。

我有一个应用程序 "mainProject" 依赖于本地库 "nativeLibrary",它本身依赖于其他几个库(预编译与否)

当我构建我的 nativeLibrary 项目时,一切都可以编译并且 link 很好。库是按照我在

中给出的顺序 linked
dependencies
{
     lib1
     lib2
     lib3
}

阻止。

当我尝试构建我的 mainProject 时,项目失败 link,因为库传递给 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

为了拥有它link,我必须手动添加标签

-Wl,--start-group
lib2
lib3
lib1
-Wl,--end-group

是否有使用 gradle 实验性插件的自动方法来指定库 linked 的顺序?还是我必须先创建一个任务来编辑 options.txt 文件,然后再尝试 link?

谢谢!!

编辑:

我在 gradle 论坛上找到了一些有用的东西,但是它似乎不适用于 gradle-experimental:

https://discuss.gradle.org/t/c-cross-compiling-with-mingw-w64-is-there-a-way-to-modify-linker-flags/7390/5

原来是当前gradle实验版的bug。我已经填写了一个错误请求,并将在处理时更新此线程。

https://code.google.com/p/android/issues/detail?id=208198&thanks=208198&ts=1461675016