React-native-youtube: Task :react-native-youtube:compileDebugJavaWithJavac FAILED on build

Created on 18 Sep 2019  路  5Comments  路  Source: davidohayon669/react-native-youtube

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 <String,Object> 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

Most helpful comment

@MattJLeach on v2 we migrated to AndroidX (React Native v0.60 is using AndroidX) so your project should support that. (Basically v2 of this lib supports only RN v0.60 an up)

You can fork this repo and change import androidx.annotation.Nullable; to import android.support.annotation.Nullable; in YouTubeManager.java and YouTubeView.java
(basically revert what was done in 6654df696b2263ac9032ec7b7ff5ae70deca045d)

All 5 comments

@MattJLeach on v2 we migrated to AndroidX (React Native v0.60 is using AndroidX) so your project should support that. (Basically v2 of this lib supports only RN v0.60 an up)

You can fork this repo and change import androidx.annotation.Nullable; to import android.support.annotation.Nullable; in YouTubeManager.java and YouTubeView.java
(basically revert what was done in 6654df696b2263ac9032ec7b7ff5ae70deca045d)

Thanks for the reply @davidohayon669 this has worked great on Android. I'm getting a build error on iOS though saying WKYTPlayerView.h file not found. I did react-native link react-native-youtube but this hasn't helped. I can't find any details for manual linking but RN 0.59.1 doesn't have cocoapods so I can't use that.

Any ideas would be greatly appreciated

Same problem as #389. I have no experience in this but there must be an easy way to manually link YoutubePlayer-in-WKWebView dependency

Any ideas @davidohayon669 on that dependency link?

@davidohayon669 didn't look for, do your research. Shouldn't be hard to manually link a cocoapods lib

Was this page helpful?
0 / 5 - 0 ratings

Related issues

savioseb picture savioseb  路  4Comments

webdevbyjoss picture webdevbyjoss  路  4Comments

berdof picture berdof  路  4Comments

dblazeski picture dblazeski  路  5Comments

matthiasleitner picture matthiasleitner  路  5Comments