Reputation: 149
I was trying to build Native module on React Native and followed the same instruction mention here
03-06 01:12:21.163 17693-17693/com.jafrirn E/unknown:React: Exception in native call from JS
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object[] java.util.Collection.toArray()' on a null object reference
at java.util.ArrayList.addAll(ArrayList.java:188)
at com.facebook.react.ReactInstanceManagerImpl.createAllViewManagers(ReactInstanceManagerImpl.java:589)
at com.facebook.react.CoreModulesPackage.createNativeModules(CoreModulesPackage.java:63)
at com.facebook.react.ReactInstanceManagerImpl.processPackage(ReactInstanceManagerImpl.java:814)
at com.facebook.react.ReactInstanceManagerImpl.createReactContext(ReactInstanceManagerImpl.java:731)
at com.facebook.react.ReactInstanceManagerImpl.access$600(ReactInstanceManagerImpl.java:92)
at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:185)
at com.facebook.react.ReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(ReactInstanceManagerImpl.java:170)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
03-06 01:12:21.257 17693-17720/com.jafrirn W/EGL_emulation: eglSurfaceAttrib not implemented
03-06 01:12:21.257 17693-17720/com.jafrirn W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xab78f200, error=EGL_SUCCESS
I tried alot but did not work. Thanks in Advance
Upvotes: 1
Views: 2107
Reputation: 8678
My guess is that you are returning null when implementing the ReactPackage interface methods. Try returning an emptyList.
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
Upvotes: 2