我有一个包含两个库的应用程序,这两个库都依赖于本机库。这两个都是使用gradle包含的,因此结构如下所示:
MyApp
- Libary1
-- x86, armeabi native libs
- Library2
-- Library3
--- x86, armeabi, arm64-v8a我想删除arm64支持,因为我还需要用于Library1的*.so,但我没有。(因此,目前我在arm64设备上获得了一个UnsatisfiedLinkError )
我已经尝试过了:(用abiFilters "armeabi","x86") https://stackoverflow.com/a/30799825/3325222
但我的apk中仍然有arm64文件夹和*.so文件...我是不是漏掉了什么?如果本地库位于依赖层次结构的更深层次,那么abiFilter应该也能工作,对吧?
提前感谢您的支持:)
发布于 2015-09-08 17:51:53
我找到了一个解决方案,排除了刚添加到我不想支持的架构中的特定*.so文件:
packagingOptions {
exclude 'lib/arm64-v8a/lib.so'
exclude 'lib/mips/lib.so'
}发布于 2015-10-20 12:08:13
https://stackoverflow.com/a/30799825/3325222在类似的情况下为我工作。然而,该解决方案实际上已被弃用。
在支持架构过滤器的实验Gradle2.5中有了新的SDK支持:http://tools.android.com/tech-docs/new-build-system/tips
https://stackoverflow.com/questions/32441359
复制相似问题