【问题标题】:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/youtube/player/YouTubeApiServiceUtil;java.lang.NoClassDefFoundError:解析失败:Lcom/google/android/youtube/player/YouTubeApiServiceUtil;
【发布时间】:2017-08-31 16:49:14
【问题描述】:

当包含以下 youtube 播放器代码的片段在 Android 5.0 和 5.1 设备中执行时,应用程序崩溃。而它在 Android 6.0 及以上版本的设备上运行良好。

崩溃发生的代码:

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

梯度:

 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' }

错误日志:

java.lang.NoClassDefFoundError:解析失败: Lcom/google/android/youtube/player/YouTubeApiServiceUtil;

原因:java.lang.ClassNotFoundException:找不到类“com.google.android.youtube.player.YouTubeApiServiceUtil”

【问题讨论】:

  • 是否有 YouTubeAndroidPlayerApi.jar 的替代品,因为在我的情况下,YouTubeAndroidPlayerApi.jar 在运行时找不到 YouTubeApiServiceUtil 类,这会导致应用程序崩溃。这三个类是我的代码运行所必需的YouTubeApiServiceUtil,YouTubeInitializationResult,YouTubeStandalonePlayer
  • 那个类肯定在我刚下载的JAR里

标签: android android-5.0-lollipop android-youtube-api


【解决方案1】:

您可以尝试在 gradle 中添加依赖项,而不是使用 jar 文件:

repositories {
    mavenCentral()
}

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

【讨论】:

  • 实际问题是由于 gradle compile 'com.google.android.gms:play-services:10.2.1' 中的 google play 服务条目。删除了该条目,现在可以正常工作了。
猜你喜欢
  • 2015-08-03
  • 1970-01-01
  • 2017-05-10
  • 2018-11-09
  • 1970-01-01
  • 2018-06-13
  • 2018-09-24
  • 2019-06-25
  • 2018-10-26
相关资源
最近更新 更多