首页 > 解决方案 > Android API 28 和 Roboelectric 4.0-alpha-3 抛出 Realm lib 错误

问题描述

在将项目切换到 API 28(compileSdk 和 targetSdk)时,Robolectric 警告说它不支持 API 28。然后将 Robolectric 依赖项从 v3.6.1 更新为:

testImplementation "org.robolectric:robolectric:4.0-alpha-3"

然后运行测试会产生此错误:

java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/_3/zzf_y_vx2rnc685ysjf1hqr40000gn/T/robolectric-Method_testUniqueIDTest2854201631190706128/blah.com.blahapp-dataDir/app_lib/librealm-jni.dylib.5.5.0

我已经尝试在单元测试中设置它,但它不能解决错误:

@Config(sdk = [Build.VERSION_CODES.O])

Application 子类确实在 onCreate() 中包含 Realm.init() 调用,我怀疑这是一个原因,但为什么它在 Robolectric 4.0 中发生,而在 3.6.1 中没有,我该如何解决?

标签: androidrealmandroid-testingrobolectricandroid-9.0-pie

解决方案


推荐阅读