Android studio 工程引用第三方库,如何排除不想要的 abi 的 so?

2016-04-21 17:46:44 +08:00
 guojing

最近做一个项目,之前没做本地数据存储,现在要做。决定用 Sqlite,想用 ORM,看了一下,想采用 https://github.com/Raizlabs/DBFlow 这个库。结果引入后,编译一下程序大小增加了 7M 以上。发现编译出来的 apk 里面有很多 DBFlow 带来的 so , armeabi , armeabi-v7a , x86 文件夹下都有。目前想排除 x86 ,还没找到办法,请问有什么办法排除 x86 的 so

13934 次点击
所在节点    Android
11 条回复
junyuecao
2016-04-21 17:55:14 +08:00
可以用 Flavor 来指定平台

同求更好的方法
sodaless
2016-04-21 18:00:13 +08:00
ndk{
abiFilters "armeabi","armeabi-v7a"
}
Lonely
2016-04-21 18:07:48 +08:00
abifilters
shaobin0604
2016-04-21 18:25:00 +08:00
DBFlow 应该不会包含 so 库吧
guojing
2016-04-21 19:15:09 +08:00
@shaobin0604 你导入库编译就知道了
shaobin0604
2016-04-21 19:34:58 +08:00
@guojing

```
def dbflow_version = "3.0.0-beta5"
def support_version = '23.1.1'

dependencies {
apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
...
}
```

生成的 apk 并没有包含 so
guojing
2016-04-21 19:39:24 +08:00
@shaobin0604 哦,那应该是 sqlite 加密的 so, 最新的 dbflow 可以加密,我有引用。就是下面这个
compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}"
shaobin0604
2016-04-21 20:44:01 +08:00
@guojing 好的,我试试
zhgg0
2016-04-21 21:17:19 +08:00
是 2 楼说的方法,你指定哪个平台就导入哪个平台
limengwei
2016-04-22 08:55:44 +08:00
删掉
figofuture
2016-04-22 09:26:03 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/273434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX