反应本土:错误:无法找到升级后的符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应本土:错误:无法找到升级后的符号相关的知识,希望对你有一定的参考价值。

嗨导入后我的反应本地项目博览会和升级作出反应,我一直有以下问题。

C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:5:错误:无法找到符号进口com.facebook.react.ReactApplication; ^符号:类ReactApplication位置:包com.facebook.react C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:13:错误:无法找到符号导入融为一体。 facebook.react.ReactNativeHost; ^符号:类ReactNativeHost位置:包com.facebook.react C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:21:错误:无法找到符号公共类MainApplication扩展应用程序实现ReactApplication ^符号:类ReactApplication C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:23:错误:无法找到符号私人最终ReactNativeHost mReactNativeHost =新ReactNativeHost(本)^符号:类ReactNativeHost位置:类MainApplication C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:40:错误:无法找到符号公共ReactNativeHost getReactNativeHost()^符号:类ReactNativeHost位置:类MainApplication C:\用户\用户\ gramic \机器人\应用\ SRC \主\的java \ COM \店\ MainActivity.java:5:错误:MainActivity不是抽象和不不重写抽象方法getPackages()在ReactActivity公共类MainActivity延伸ReactActivity ^ C:\用户\用户\ gramic \机器人\程序\ SRC \主\ java中的\ com \店\ MainApplication.java:23:错误:无法找到符号私人最终ReactNativeHost mReactNativeHost =新ReactNativeHost(本)^符号:类ReactNativeHost位置:类MainApplication C: \用户\用户\ gramic \机器人\应用\ SRC \主\的java \ COM \店\ MainApplication.java:39:错误:方法不覆盖或从超类型@Override实现一种方法^

    package com.shop;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.corbt.keepawake.KCKeepAwakePackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.github.yamill.orientation.OrientationPackage;
import com.BV.LinearGradient.LinearGradientPackage;
import com.brentvatne.react.ReactVideoPackage;

import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication 

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) 
    @Override
    public boolean getUseDeveloperSupport() 
      return BuildConfig.DEBUG;
    

    @Override
    protected List<ReactPackage> getPackages() 
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new VectorIconsPackage(),
            new VectorIconsPackage(),
            new KCKeepAwakePackage(),
            new VectorIconsPackage(),
            new OrientationPackage(),
            new LinearGradientPackage(),
            new ReactVideoPackage()

      );
    
  ;

  @Override
  public ReactNativeHost getReactNativeHost() 
    return mReactNativeHost;
  

  @Override
  public void onCreate() 
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
  

答案

第一:安装使用的纱线或NPM所有的依赖;

第二:使用下面的代码到本机的依赖于ios和Android原生代码链接;

react-native link

第三:可能会出现这个错误,因为你RN版本是Android的版本的build.gradle不同。当你创建一个反应,本机应用程序可能它创建Android应用程序,如:

android/app/build.gradle

implementation "com.facebook.react:react-native:+"

所以,检查你node_modules文件夹,查找反应本地文件夹,并寻找一个号码的文件夹,该数字是反应原生版本。对于我来说,0.58.3然后更新的Android /应用/的build.gradle:

implementation "com.facebook.react:react-native:0.58.3"

它的全部。

另一答案

发生在我身上取下我从世博会作出反应本地项目太后。

正如我回答在这里:

My answer

为了解决我的问题:

  1. 在package.js我改变: “反应天然的”:“https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz” 至 : “反应天然的”:“^ 0.57.8”
  2. 删除node_modules文件
  3. 运行安装NPM
  4. 删除Android项目和同步工程“.gradle”文件夹。
另一答案

努力提升本土做出反应时,我也有这些错误。我看到人们通过清洁gradlew缓存(./gradlew clean在Android项目文件夹),或删除整个.gradle文件夹(在Android项目文件夹还)解决这些。

但是,这并没有为我工作。我的问题是在android/build.gradle文件。我以前有加Maven仓库的另一个包,做了这样的说法:

maven 
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"

        // The following is NOT the right way
        url "https://maven.google.com"
    

但在Android docs每个Maven仓库应该是在它自己的maven 块说。

因此,对我工作的解决方案是这样做:

maven 
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
    

maven 
        url "https://maven.google.com"
    

希望这将有助于和运气好你的反应升级! ;)

另一答案

我有一个类似的问题,我都发现没有帮助的建议,所以我这个下降为别人有同样的问题。

对于我来说竟然是一个第三方包(pushwoosh反应的母语 - 插件)已编译/中实现的反应原生静态版本在它的build.gradle文件。

我设法找到它,由

  • 将我的应用程序/的build.gradle
  • 关于依赖注释掉了我所有的编译/执行
  • 加入逐一直到我得到了同样的错误

就像上面说:原来这是有规定的以下依赖性pushwoosh的build.gradle文件:

dependencies 
    ...
    compile 'com.facebook.react:react-native:0.20.1'
    ...

所以我说干就干,改变它的权利当场“+”

dependencies 
    ...
    compile 'com.facebook.react:react-native:+'
    ...

该“+”是指:最新版本,其中每个领导SEMVER部件的匹配提供的模式

以上是关于反应本土:错误:无法找到升级后的符号的主要内容,如果未能解决你的问题,请参考以下文章

收到表情符号反应后的 Discord.js 消息

Discord bot 动画表情符号无法获取并用作反应

javascript 本土反应

反应中继错误'对象没有方法找到'

无法找到模块'反应原生'

反应原生无法从蜂窝网络找到位置