2017-08-31 7 views
0

L'application se bloque lorsque le fragment contenant le code ci-dessous d'un lecteur YouTube est exécuté sur les appareils Android 5.0 et 5.1. Alors que cela fonctionne très bien dans Android 6.0 et versions supérieures.java.lang.NoClassDefFoundError: Résolution échouée de: Lcom/google/android/youtube/player/YouTubeApiServiceUtil;

code où l'accident est:

YouTubeInitializationResult result = 
    YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(getActivity()); 
if (result != YouTubeInitializationResult.SUCCESS) { 
    result.getErrorDialog(getActivity(), 0).show(); 
} 

Gradle:

build.gradle dependencies { 
      compile fileTree(include: ['*.jar'], dir: 'libs') 
      compile files('libs/YouTubeAndroidPlayerApi.jar') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
     { 
exclude group: 'com.android.support', module: 'support-annotations' 
      }) 
      compile project(':ResideMenu') 
      compile 'com.android.support:appcompat-v7:25.0.0' 
      compile 'com.android.support:support-v4:25.0.0' 
      compile 'com.android.support:design:25.0.0' 
      compile 'com.android.support:cardview-v7:25.0.0' 
      compile 'com.android.support:recyclerview-v7:25.0.0' 
      compile 'com.android.support:percent:25.0.0' 
      compile 'com.google.android.gms:play-services:10.2.1' 
      compile 'org.apache.commons:commons-io:1.3.2' 
      compile 'org.apache.commons:commons-lang3:3.4' } 

Error Log:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/youtube/player/YouTubeApiServiceUtil;

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.youtube.player.YouTubeApiServiceUtil"

+0

Y at-il une alternative de YouTubeAndroidPlayerApi.jar parce que dans mon cas la classe YouTubeApiServiceUtil ne se trouve pas dans YouTubeAndroidPlayerApi.jar au moment de l'exécution qui fait planter l'application.Ces trois classes sont requises pour que mon code exécute YouTubeApiServiceUtil, YouTubeInitializationResult, YouTubeStandalonePlayer –

+0

Cette classe est définitivement dans le JAR, je viens de télécharger –

Répondre

0

Au lieu d'utiliser le fichier jar, vous pouvez essayer d'ajouter la dépendance à gradle:

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'com.google.apis:google-api-services-youtube:v3-rev183-1.22.0' 
} 
+0

problème réel était en raison de l'entrée de service google play dans la compilation comple 'com.google.android.gms: play-services: 10.2.1'.Removed l'entrée et fonctionne maintenant bien. –