React Native version:
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
0.60.4npx react-native run-androidReact Native to build
The app compiles and works fine on iOS and xcode. However, when I try and run the new android code I face the following error:
/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.
This is my 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);
}
}
Turns out I was missing the new stuff inside android/app/build.gradle when I used https://react-native-community.github.io/upgrade-helper/?from=0.59.8&to=0.60.4
The android/app/build.gradle file was closed and I missed it 馃
Lol. I had exactly the same issue. Humans.
With React Native auto-linking, PackageList is now a _generated_ file. Is it is created by including native_modules.gradle into your Gradle build (the last line in android/app/build.gradle).
im having the same issue, however, after adding the native_modules.gradle in build.gradle. i get ERROR: Cannot invoke method getErrorStream() on null object.
react: 16.10.2
react-native: 0.61.2
@react-native-community/cli: 3.0.0-alpha.7
i have followed all the upgrade-helpers changes, im coming from react-native: 0.59.8. any thoughts on how to fix it?
@Capossito - Do you happen to have a link to the project?
react should be 16.9.0 btw (just a side note, not the issue here).
Adding apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) at the end of app/build.gradle works for me. You can also try it.
Adding
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)at the end ofapp/build.gradleworks for me. You can also try it.
Shows error that file does not exist!
@o-pooja-o same problem here but ti actually does exist
@o-pooja-o same problem here but ti actually does exist
Yeah maybe but my error was because of lower react native version.
add apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
to to your app/build.gradle
Followed Upgrade helper 0.59.9 to 0.62.2 and made sure to make
@runryan and @karltaylor changes too.
still no joy, PackageList is still missing - Cannot resolve symbol 'PackageList' and getting this error crushing the build:
/Users/myuser/projects/myproject/node_modules/react-native/node_modules/@react-native-community/cli/build/index.js:176 const cmd = _commander().default.command(command.name).action(async function handleAction(...args) {
^^^^^SyntaxError: missing ) after argument list
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/myuser/projects/myproject/node_modules/react-native/cli.js:13:11)
Any ideas?
Hi verybluebot and all,
add this in settings.gradle : apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
and this in app/build.gradle at the end :
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
and take a look at https://react-native-community.github.io/upgrade-helper/?from=0.59.0&to=0.61.5 for other changes in files. It worked for me!
@friederbluemle is spot on 馃挴
With React Native auto-linking, PackageList is now a generated file. Is it is created by including native_modules.gradle into your Gradle build (the last line in android/app/build.gradle).
Since PackageList is now a generated file, you need to run yarn react-native run-android to build the android app. That's what auto links the package and generates that file.
Regardless of if that command builds/fails - if you go back to Android Studio and build the file - PackageList will no longer throw that error!
@LionelHoudelier thanks managed to get it working, but still having build fail on Android studio which makes
all native development very painful as the IDE not highlighting anything.
Build from RN works but this feels such a horrible hack.
Hi verybluebot and all,
add this in settings.gradle :apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)and this in app/build.gradle at the end :
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)and take a look at https://react-native-community.github.io/upgrade-helper/?from=0.59.0&to=0.61.5 for other changes in files. It worked for me!
this really help me thank you :)
Just want to state the obvious in case anyone else who was stuck like me comes across this post.
Ensure import com.facebook.react.PackageList; is included in your MainApplication.java file
I inherited a project that was manually linking all it's packages and the above line wasn't added during a previous upgrade.
On react-native-cli version 4.13.1, I generate a project, then open the android folder in Android Studio 4.1.1 and I get the issue above. This is happening straight out of a generated project.

Edit: you have to run yarn react-native run-android for it to generate this file and make it available, as noted above.
Most helpful comment
Turns out I was missing the new stuff inside
android/app/build.gradlewhen I used https://react-native-community.github.io/upgrade-helper/?from=0.59.8&to=0.60.4The
android/app/build.gradlefile was closed and I missed it 馃