【问题标题】:Gradle exclude arm64 libsGradle 排除 arm64 库
【发布时间】:2015-12-03 04:02:19
【问题描述】:

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

我的应用

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

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

我已经尝试过了:(使用 abiFilters "armeabi", "x86") https://stackoverflow.com/a/30799825/3325222

但我仍然在我的 apk 中获得 arm64 文件夹和 *.so 文件...我缺少什么吗?如果原生库在依赖层次结构中更深,那么 abiFilter 的东西甚至应该可以工作,对吧?

提前感谢您的支持:)

【问题讨论】:

    标签: android android-gradle-plugin


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

    https://stackoverflow.com/a/30799825/3325222 在类似的情况下为我工作。但是,该解决方案实际上已被弃用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多