Gradle 排除 arm64 库

Gradle exclude arm64 libs

我有一个包含两个库的应用程序,它们都依赖于本机库。两者都包含在 gradle 中,因此结构如下所示:

我的应用程序

- Libary1
-- x86, armeabi native libs
- Library2
-- Library3
--- x86, armeabi, arm64-v8a

我想删除 arm64 支持,因为我还需要 Library1 的 *.so,但我没有。 (所以目前我在 arm64 设备上收到 UnsatisfiedLinkError)

我已经试过了:(使用 abiFilters "armeabi"、"x86")

但我的 apk 中仍然有 arm64 文件夹和 *.so 文件...我是否遗漏了什么?如果本机库在依赖层次结构中更深,那 abiFilter 的东西甚至应该工作吗?

在此先感谢您的支持:)

我通过排除刚刚添加到我不想支持的体系结构中的特定 *.so 文件找到了解决方案:

packagingOptions {
  exclude 'lib/arm64-v8a/lib.so'
  exclude 'lib/mips/lib.so'
}

在类似情况下为我工作。但是,该解决方案实际上已被弃用。

实验性 Gradle 2.5 中有新的 SDK 支持,支持架构过滤器:http://tools.android.com/tech-docs/new-build-system/tips