Greetings,
Upgrading from 0.87.5 to 0.88.2 produces a java.lang.UnsatisfiedLinkError when running Robolectric unit tests in a Kotlin project.
Previously, I used the following dependency setup (taken from #509), which worked fine:
compile "io.realm:realm-android-library:0.87.5@aar"
compile "io.realm:realm-annotations:0.87.5"
kapt "io.realm:realm-annotations-processor:0.87.5"
kapt "io.realm:realm-annotations:0.87.5"
Upgrading to version 0.88.2 produces the following error when running tests:
java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/mv/pfq8mc1j1kldmhvb600_09t40000gn/T/android-tmp-robolectric4118687178846717807/app_lib/librealm-jni.dylib
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1062)
at io.realm.internal.android.ReLinker.loadLibrary(ReLinker.java:75)
at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:89)
at io.realm.RealmConfiguration$Builder.<init>(RealmConfiguration.java:338)
at com.maxwellforest.safedome.util.database.RealmUtils.init(RealmUtils.kt:21)
at com.maxwellforest.safedome.SafedomeApplication.onCreate(SafedomeApplication.kt:58)
at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:140)
at org.robolectric.RobolectricTestRunner.setUpApplicationState(RobolectricTestRunner.java:433)
at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:240)
at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:188)
at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:54)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:152)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:112)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:56)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Noticing that there is now a Gradle plugin, I tried using that similar to the Kotlin example, but that didn't change anything.
Let me know if I'm missing any information and I'll add it to the thread.
Version of Realm and tooling
Realm version(s): 0.88.2
Android Studio version: 2.0-beta7
Which Android version and device: N/A
Greetings,
Upgrading from 0.87.5 to 0.88.2 produces a
java.lang.UnsatisfiedLinkErrorwhen running Robolectric unit tests in a Kotlin project.Previously, I used the following dependency setup (taken from #509), which worked fine:
Upgrading to version 0.88.2 produces the following error when running tests:
Noticing that there is now a Gradle plugin, I tried using that similar to the Kotlin example, but that didn't change anything.
Let me know if I'm missing any information and I'll add it to the thread.
Version of Realm and tooling
Realm version(s): 0.88.2
Android Studio version: 2.0-beta7
Which Android version and device: N/A