Android集成到现有工程的一个问题



  • 大家好!
    我是按照官方的指导集成到现有的app工程里的。
    当打开react的页面时候,整个页面是红色的。
    报的错误是:undefined is not an object(evaluating 'UIManager.RCTView.Constants')

    求助!



  • @alan_dan 看起来像是没有包含React自己的Package?



  • 感谢回答!

    根据官方文档

    0_1457689976267_upload-b3d9f3be-9c9e-4c0d-b9cb-1c6538c13597

    然后

    0_1457689957113_upload-8fdfd660-0923-4e44-bbd5-12bfa6efc45c

    再然后

    0_1457689847159_upload-45f7b79e-4835-430a-bae8-6ef74083c251

    在进行了以上操作之后,我的工程目录下是这样的:

    0_1457689761112_upload-c72b3da1-740c-4226-82de-3e51740772e4

    可见node_modules并没有被引用为module,是需要手动引用么?文档上没有提到。请问怎么解决呢?



  • 你好,目前来Gradle依赖配置是没有问题的,主要是植入部分的代码:

    public class MyReactActivity extends Activity implements DefaultHardwareBackBtnHandler {
        private ReactRootView mReactRootView;
        private ReactInstanceManager mReactInstanceManager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            mReactRootView = new ReactRootView(this);
            mReactInstanceManager = ReactInstanceManager.builder()
                    .setApplication(getApplication())
                    .setBundleAssetName("index.android.bundle")
                    .setJSMainModuleName("index.android")
                    .addPackage(new MainReactPackage())   // <-- 这一行
                    .setUseDeveloperSupport(BuildConfig.DEBUG)
                    .setInitialLifecycleState(LifecycleState.RESUMED)
                    .build();
    

    请检查是否缺少了那一行。



  • @tdzl2003 是的,已经修正好了。蛛丝马迹看出这个遗漏的代码,我只能给十万个赞!!!!


登录后回复