我有一个现有的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
所以我添加了- 编译('com.facebook.react:react-native:+',{ 排除模块:“ okhttp” 排除模块:“ bolts-android” })
现在,该应用程序可以构建并正常运行。但是在导航到添加了我的ReactRootView的片段n时,我收到了以下异常-
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)
请让我知道我在想什么