如何从库中排除域本机文件

时间:2017-03-07 14:45:03

标签: android realm

问题:如何删除使用jitpack发布的库(aar)中的Realm .so文件(只保留域java文件)

我们目前正将部分功能转移到sdk,我们正在创建。因为Realm为每个架构添加了.so库,所以我们的sdk变得太大了。 我想把我们的RealmObjects保留在sdk中,但删除原生文件(我们实际上在我们的应用程序中使用了realm,而不是在sdk中)。

澄清:

  • 我们分享我们的领域和改造模型,所以这就是为什么它应该留在sdk
  • Realm不支持非realm-object的继承,因此模型无法在app中扩展。

所以我的解决方案是添加打包选项:

packagingOptions {
    exclude 'lib/mips/librealm-jni.so'
    exclude 'lib/x86_64/librealm-jni.so'
    exclude 'lib/x86/librealm-jni.so'
    exclude 'lib/arm64-v8a/librealm-jni.so'
    exclude 'lib/armeabi-v7a/librealm-jni.so'
}

它运行良好,但只有当使用sdk的应用程序在build.grade中添加它时。在build.gradle中为sdk使用它不起作用。

问题

  1. 如何实现这一目标?
  2. 有什么方法可以解决这个问题(在sdk中使用模型,但是使用sdk在应用程序中使用该模型的数据库)?

0 个答案:

没有答案