Matt Leach
Matt Leach

Reputation: 979

React Native Youtube androidx.annotation.Nullable errors

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

Upvotes: 0

Views: 1397

Answers (2)

suther
suther

Reputation: 13628

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

Upvotes: 1

hong developer
hong developer

Reputation: 13926

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

android/gradle.properties

android.useAndroidX=true
android.enableJetifier=true

Upvotes: 0

Related Questions