0

I'm building a project on React Native 0.59.1 but when I add react native youtube I get the following errors when I run react-native run-android

Any help would be greatly appreciated.

Task :react-native-youtube:compileDebugJavaWithJavac FAILED /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeView.java:6: error: cannot find symbol import androidx.annotation.Nullable; ^ symbol: class Nullable location: package androidx.annotation /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:3: error: cannot find symbol import androidx.annotation.Nullable; ^ symbol: class Nullable location: package androidx.annotation /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeView.java:37: error: cannot find symbol @Nullable ^ symbol: class Nullable location: class YouTubeView /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:48: error: cannot find symbol public void receiveCommand(YouTubeView view, int commandType, @Nullable ReadableArray args) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:76: error: cannot find symbol public @Nullable Map getExportedCustomDirectEventTypeConstants() { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:104: error: cannot find symbol public void setApiKey(YouTubeView view, @Nullable String param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:109: error: cannot find symbol public void setPropVideoId(YouTubeView view, @Nullable String param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:114: error: cannot find symbol public void setPropVideoIds(YouTubeView view, @Nullable ReadableArray param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:119: error: cannot find symbol public void setPropPlaylistId(YouTubeView view, @Nullable String param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:124: error: cannot find symbol public void setPropPlay(YouTubeView view, @Nullable boolean param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:129: error: cannot find symbol public void setPropLoop(YouTubeView view, @Nullable boolean param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:134: error: cannot find symbol public void setPropFullscreen(YouTubeView view, @Nullable boolean param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:139: error: cannot find symbol public void setPropControls(YouTubeView view, @Nullable int param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:144: error: cannot find symbol public void setPropShowFullscreenButton(YouTubeView view, @Nullable boolean param) { ^ symbol: class Nullable location: class YouTubeManager /Users/mattleach/Projects/EzeeTrader/EzeeTrader/node_modules/react-native-youtube/android/src/main/java/com/inprogress/reactnativeyoutube/YouTubeManager.java:149: error: cannot find symbol public void setPropResumePlay(YouTubeView view, @Nullable boolean param) { ^ symbol: class Nullable location: class YouTubeManager

2 Answers 2

1

Put

android.useAndroidX=true
android.enableJetifier=true

to your gradle.properties.

Then install jetify:

yarn add jetifier --dev
npx jetify

Then add jetify to your postinstall-Script on package.json:

"scripts": {
  ...
  "postinstall": "jetify"
  ...
}

If you still have entries @ postinstall, only add them with && at the end. Example if you still would have patch-package in Postinstall: „patch-package && jetify“

At least, run yarn install to do the trick.

If you have trouble with jetify, you can undo changes in your node_modules-Package with jetify -r

Sign up to request clarification or add additional context in comments.

Comments

0

You must migrate to anroidx as the error log says. Try this.

android/gradle.properties

android.useAndroidX=true
android.enableJetifier=true

3 Comments

What if I don't want to migrate to androidx
@EdisonBiba In the React-native 0.59 version, Android X is a must. If you don't want to use it, you should lower the React-native version.
Have you heard about jetifier and using it with -r option? I think that can be used

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.