Error: java.lang.UnsatisfiedLinkError con roboelectric y reino
Hola Estoy utilizando la base de datos del realm
para mi aplicación y usando el marco de la prueba de la unidad roboelectric
para realizar la prueba de la unidad. Veo realm
está escrito en código c nativo, tiene librealm-jni.so
archivo para su funcionalidad.
Estoy recibiendo UnsatisfiedLinkError
error, leer en algún lugar que robolectric no es compatible con bibliotecas nativas. Creo que debe haber alguna manera de resolverlo. Traté de aceptar la respuesta de este ¿Cómo cargar. Así que cuando se utiliza Robolectric? Pero no hay suerte.
- Cómo simular un evento de arrastre en un ViewPager en Roboeléctrico?
- ¿Cómo puedo detectar con Robolectric que onBackPressed se llama programáticamente?
- Gradle Robolectric Resources NotFoundException en pruebas
- Robolectric 2.4 NoSuchMethodError no se puede transmitir a RuntimeException al crear actividad
- Simulando un clic en un elemento de menú en Robolectric
java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\XS~1\AppData\Local\Temp\android-tmp-robolectric7796034244909642596\app_lib\realm-jni.dll.2.3.1 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at com.getkeepsafe.relinker.SystemLibraryLoader.loadPath(SystemLibraryLoader.java:29) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:198) at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136) at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70) at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57) at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:59) at io.realm.Realm.init(Realm.java:187) at com.xyz.helloworld.HelloWorldApplication.onCreate(HelloWorldApplication.java:17) at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:147) at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:329) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:259) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:41) 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:199) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114) at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57) 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:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) at org.gradle.internal.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:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:377) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
HelloWorldApplication.java
public class HelloWorldApplication extends Application { @Override public void onCreate() { super.onCreate(); Realm.init(this); RealmConfiguration config = new RealmConfiguration.Builder() .name("book.realm") .schemaVersion(1) .build(); Realm.setDefaultConfiguration(config); } protected void loadNativeLibraries() { try { System.loadLibrary("librealm-jni"); } catch (UnsatisfiedLinkError e) { } } }
TestHelloWorldApplication.java
public class TestHelloWorldApplication extends HelloWorldApplication { @Override protected void loadNativeLibraries() { //do nothing } }
- ¿Cómo puedo saber si mi aplicación se ejecuta con Robolectric?
- Configurar la carpeta de prueba para las pruebas unitarias en el estudio de Android
- Cómo utilizar gradle-android-test-plugin
- No se puede crear ActionBarActivity desde Robolectric 2 unidad de prueba
- Utilice Robolectric para probar el inicio de un servicio con extras de intención?
- Roboeléctrico y Android Studio
- NoClassDefFoundError: org / json / JSONException - Android Roboelectric con gradle
- ¿Es posible hacer peticiones http reales con robolectric
Mira esto
Es un problema abierto que Realm no soporta Robolectric (todavía).
- Error en la verificación de la firma de Android LVL
- ¿Por qué Android BottomNavigationView no aparece?