Reputation: 979
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
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
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