Chr*_*nry 5 java android facebook reactjs react-native
嗨,在导入我的React本机项目博览会和升级React之后,我遇到了以下问题。
C:\ Users \ user \ gramic \ android \ app \ src \ main \ java \ com \ shop \ MainApplication.java:5:错误:找不到符号导入com.facebook.react.ReactApplication; ^符号:类ReactApplication位置:包com.facebook.react C:\ Users \ user \ gramic \ android \ app \ src \ main \ java \ com \ shop \ MainApplication.java:13:错误:找不到符号导入com。 facebook.react.ReactNativeHost; ^符号:类ReactNativeHost位置:包com.facebook.react C:\ Users \ user \ gramic \ android \ app \ src \ main \ java \ com \ shop \ MainApplication.java:21:错误:找不到符号公共类MainApplication扩展应用程序实现ReactApplication {^符号:类ReactApplication C:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*cus 10
首先:使用yarn或npm安装所有依赖项;
第二:使用以下代码链接对iOS和Android本机代码的本机依赖关系;
react-native link
Run Code Online (Sandbox Code Playgroud)
第三:由于您的RN版本与Android的build.gradle版本不同,因此可能会发生此错误。当您创建本机应用程序时,它可能会创建如下所示的android应用程序:
android/app/build.gradle
implementation "com.facebook.react:react-native:+"
Run Code Online (Sandbox Code Playgroud)
因此,检查您的node_modules文件夹,查找react-native文件夹,并查找带有数字的文件夹,该数字是react-native的版本。对我来说是0.58.3然后更新android / app / build.gradle:
implementation "com.facebook.react:react-native:0.58.3"
Run Code Online (Sandbox Code Playgroud)
就是全部
小智 6
我在尝试升级 React Native 时也遇到了这些错误。我见过人们通过清理 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"
}
Run Code Online (Sandbox Code Playgroud)
但是在Android 文档中说每个 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"
}
Run Code Online (Sandbox Code Playgroud)
希望它会有所帮助,并祝您的反应升级好运!;)
在将我的本机项目与Expo分离后,我也遇到了。
正如我在这里回答的那样:
为了解决此问题,我必须:
在package.js中,我更改了:
“ react-native”:“ https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz ”,
至 :
“ react-native”:“ ^ 0.57.8”,
删除node_modules文件
| 归档时间: |
|
| 查看次数: |
10924 次 |
| 最近记录: |