android - 更新到 React 0.60.4 会破坏 Android 构建(错误找不到符号)
问题描述
我最近更新到React Native@0.60.4
.
该应用程序在 iOS 和 xcode 上编译并运行良好。但是,当我尝试运行新的 android 代码时,我遇到以下错误:
/redacted/MainApplication.java:6: error: cannot find symbol
import com.facebook.react.PackageList;
^
symbol: class PackageList
location: package com.facebook.react
/redacted/MainApplication.java:28: error: cannot find symbol
List<ReactPackage> packages = new PackageList(this).getPackages();
^
symbol: class PackageList
2 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 9s
error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
这是我的 MainApplication.java
package com.my.app;
import android.app.Application;
import android.util.Log;
import com.facebook.react.PackageList;
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
import com.facebook.react.bridge.JavaScriptExecutorFactory;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
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() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
return packages;
}
@Override
protected String getJSMainModuleName() {
return "index";
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
}
}
$ npx react-native info
倾倒
System:
OS: macOS 10.14.5
CPU: (8) x64 Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
Memory: 288.14 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 12.4.0 - /usr/local/bin/node
Yarn: 1.17.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.4 => 0.60.4
解决方案
原来我在android/app/build.gradle
使用https://react-native-community.github.io/upgrade-helper/?from=0.59.8&to=0.60.4时错过了里面的新东西
android/app/build.gradle
文件已关闭,我错过了
推荐阅读
- javascript - 在 Javascript 后端使用无符号数字类型
- c++ - 类型转换不会产生预期的行为
- java - 首先在 AtomicBoolean 中获取更新后的值
- excel - Excel/Google 表格:如何查找(并计算)字符串的首次出现
- reactjs - 从stacknaviagtion中的屏幕返回到drawernavigation中的屏幕不起作用本机反应
- c# - SignalR 上的身份验证
- php - 解决 xpath 属性错误,即使 xpath 看起来不错
- javascript - 使用本地存储的复选框状态
- node.js - 访问 docker 容器中的 ssl .pem 文件
- c# - 使用元组 C# 循环列表