У меня есть приложение для Android, в котором мне нужно реализовать компоненты React Native.На самом деле это структура проекта Worklight.Я добавил все необходимые файлы и добавил ReactRootView следующим образом:
ReactRootView mReactRootView = new ReactRootView(getActivity());
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getActivity().getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.BEFORE_RESUME)
.build();
mReactRootView.startReactApplication(mReactInstanceManager,
"MyReactNativeApp", null);
FrameLayout fl = (FrameLayout) fragmentView.findViewById(R.id.rct);
fl.addView(mReactRootView);
При запуске кода я получил эту ошибку:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException:
java.util.zip.ZipException: duplicate entry:
com/squareup/okhttp/Address.class
Итак, я добавил - compile ('com.facebook.react: Reaction-native: + ', {модуль исключения: "okhttp" модуль исключения:' bolts-android '})
Теперь приложение собирается и работает нормально.Но при переходе к фрагменту, где добавлен мой ReactRootView, я получаю следующее исключение -
Process: com.kohls.mcommerce.opal, PID: 5895
java.lang.NoSuchMethodError: No virtual method setWriteTimeout(JLjava/util/concurrent/TimeUnit;)V in class Lcom/squareup/okhttp/OkHttpClient; or its super classes (declaration of 'com.squareup.okhttp.OkHttpClient' appears in /data/app/com.kohls.mcommerce.opal-2/base.apk:classes3.dex)
at com.facebook.react.devsupport.DevServerHelper.<init>(DevServerHelper.java:103)
at com.facebook.react.devsupport.DevSupportManagerImpl.<init>(DevSupportManagerImpl.java:123)
at com.facebook.react.ReactInstanceManagerImpl.<init>(ReactInstanceManagerImpl.java:266)
at com.facebook.react.ReactInstanceManager$Builder.build(ReactInstanceManager.java:279)
at com.kohls.mcommerce.opal.framework.view.fragment.AccountUserFragment.initializeViews(AccountUserFragment.java:259)
at com.kohls.mcommerce.opal.framework.view.fragment.BaseFragment.onActivityCreated(BaseFragment.java:66)
at com.kohls.mcommerce.opal.framework.view.fragment.AccountUserFragment.onActivityCreated(AccountUserFragment.java:167)
at android.app.Fragment.performActivityCreated(Fragment.java:2362)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1014)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1171)
at android.app.BackStackRecord.run(BackStackRecord.java:816)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1578)
at android.app.FragmentController.execPendingActions(FragmentController.java:371)
at android.app.Activity.performStart(Activity.java:6695)
at android.app.Activity.performRestart(Activity.java:6770)
at android.app.Activity.performResume(Activity.java:6775)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3406)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3469)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Пожалуйста, дайте мне знать, что мне не хватает