你好,在导入我的React原生项目博览会和升级React,我一直有以下问题。
C:\用户\用户\gramic\安卓\应用\src\main\java\com\商店\主应用。java:5:错误:无法找到符号导入com.facebook.react.ReactApplication;^符号:类ReactApplication位置:软件包:C:\用户\用户\gramic\android\应用程序\源代码\主\java\com\商店\主应用程序。java:13:错误:无法找到符号导入com.facebook.react.ReactNativeHost;^符号:类ReactNativeHost位置:软件包:C:\用户\用户\gramic\android\应用程序\源代码\主\java\com\商店\主应用程序。java:21:错误:找不到符号公共类MainApplication extends应用程序实现ReactApplication { ^ symbol:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:用户名:错误:无法找到符号专用最终ReactNativeHost mReactNativeHost =新ReactNativeHost(this){ ^ symbol:类ReactNativeHost的位置:类主要应用程序C:\用户\用户\gramic\android\应用程序\src\main\java\com\shop\主要应用程序。java:40:错误:无法找到符号公共ReactNativeHost getReactNativeHost(){ ^符号:类ReactNativeHost的位置:类主要应用程序C:\用户\用户\gramic\android\应用程序\src\main\java\com\shop\主要活动。java:5:错误:MainActivity不是抽象的,并且不会覆盖ReactActivity公共类中的抽象方法getPackages()。MainActivity扩展了ReactActivity { ^ C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:23:错误:无法找到符号专用最终ReactNativeHost mReactNativeHost =新ReactNativeHost(this){ ^ symbol:类ReactNativeHost的位置:类主要应用程序C:\用户\用户\gramic\android\app\src\main\java\com\shop\主要应用程序。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);
}
}
7条答案
按热度按时间sgtfey8w1#
首先:使用yarn或npm安装所有依赖项;
第二:使用下面的代码链接iOS和Android原生代码上的原生依赖项;
第三:发生此错误的原因可能是您的RN版本与Android的build.gradle版本不同。当您创建react-native应用时,它可能会创建如下Android应用:
因此,检查node_modules文件夹,查找react-native文件夹,并查找带有数字的文件夹,该数字是react-native版本。对我来说,它是0.58.3,然后更新android/app/build.gradle:
这就是全部。
vuktfyat2#
我在尝试升级React Native时也遇到了这些错误。我看到人们通过清理Gradlew缓存(Android项目文件夹中的
./gradlew clean
)或删除整个.gradle
文件夹(也在Android项目文件夹中)来解决这些错误。但是我没有这样做。我的问题是在
android/build.gradle
文件中。我以前不得不为另一个包添加一个maven仓库,并且已经这样做了:但是在Android docs中规定每个Maven储存库应该在其自己的
maven {}
块中。因此,对我有效的解决方案是:
希望它会有帮助,并祝你的React升级好运!)
dojqjjoe3#
在我从世博会中分离出我的原生态项目后,我也发生了同样的事情。
正如我在这里回答的:
我的回答
为了解决这个问题,我必须:
1.在package.js中,我更改了:
“React Native ”:“https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz“,
至:
“React Native ”:“^0.57.8”,
1.删除node_modules文件
1.运行npm安装
1.从Android项目中删除'.gradle'文件夹并同步项目。
ktca8awb4#
我有一个类似的问题,我发现所有的建议都没有帮助,所以我放弃了这个问题,因为其他人也有同样的问题。
对我来说,它是一个第三方包(pushwoosh-react-native-plugin),在它的build.gradle文件中编译/实现了静态版本的react-native。
我设法找到了它,由
正如上面所说:原来是定义了以下依赖项的pushwoosh build.gradle文件:
所以我就直接把它改成了“+”
**“+”表示:**最新的可用版本,其中每个主要SENVER组件都与提供的模式匹配
5gfr0r5j5#
在我重命名应用程序中的软件包后,我遇到了这个问题。我使用以下命令重命名它们:
有几行我需要手动更新:
我刚刚搜索了com.companyname并更改为新名称。
atmip9wb6#
1.卸载react-native-reanimated以前版本
1../gradlew清除
1.光盘..
1.在2.12.0安装React Native动画
7gyucuyw7#
我遇到过同样的问题,我用下面的命令解决了它。
我来知道,PackageList文件将被创建时,我们使用上述命令,并运行Android应用程序至少一次,然后如果我们同步我们的项目,你可以看到错误将消失。