当前位置: 首页 > 面试题库 >

您如何解释“ java.lang.NoSuchMethodError:没有直接方法”?

柴浩大
2023-03-14
问题内容

我们天真地决定,我们应该将许多库从两年的1.12.0-betas更新到不错的新版本1.20.0。例如:我们将google-http-
client-1.12.0-beta.jar更新为google-http-client-android-1.20.0.jar。

当我们执行以下代码时:

  List<String> scopes = Lists.newArrayList(SendToGoogleUtils.FUSION_TABLES_SCOPE);
  GoogleAccountCredential credential = SendToGoogleUtils.getGoogleAccountCredential(
      context, account.name, scopes );
  if (credential == null) {
    return false;
  }
  Fusiontables fusiontables = new Fusiontables.Builder(
      AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build();

我们得到这个惊人的错误报告:

FATAL EXCEPTION Caused by: java.lang.NoSuchMethodError: No direct method <init>(Lcom/google/api/client/http/HttpTransport;Lcom/google/api/client/http/HttpRequestInitializer;Ljava/lang/String;Ljava/lang/String;Lcom/google/api/client/json/JsonObjectParser;Lcom/google/api/client/googleapis/services/GoogleClientRequestInitializer;Ljava/lang/String;Z)V in class Lcom/google/api/client/googleapis/services/json/AbstractGoogleJsonClient; or its super classes (declaration of 'com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient' appears in /data/app/dkr.ajijic.apps.tm-1/base.apk)

有人知道如何解释吗?我们肯定不会!


问题答案:

这仅意味着带有特定参数列表的AbstractGoogleJsonClient的构造函数不可用。

检查您super()对的子类的调用,AbstractGoogleJsonClient并确保不需要更新参数列表以匹配更新的库。

如果您的源代码中没有,那么Google API客户端库可能存在库版本依赖性问题。



 类似资料:
  • 错误: java.lang.nosuchmethoderror:类lcom/google/android/gms/iid/zzd中没有直接方法(landroid/content/context;)V;或其超级类(“com.google.android.gms.iid.zzd”的声明出现在/data/app/com.app-1/base.apk:classes33.dex中)的com.google.

  • 问题内容: 我在Jenkins管道中使用JSON函数并获取。我正在使用Jenkins 2.85。 任何想法如何解决这个问题? 问题答案: 使用管道实用程序步骤插件可以使用该功能。 没有此插件,您将无法使用此功能。 有关更多信息,请检查:步骤

  • 我正在构建一个Android应用程序,在尝试读取XLSX文件时,面临一个非静态方法异常。 尝试了所有的可能性,如更新应用程序/build.gradle中的依赖关系,但没有成功。 请帮助我解决此问题。 我正在添加app.gradle文件。其他代码是使用XSSF的基本XLSX文件读取。当我试图在Spring Suite工具中运行这个java片段时,它运行正常。然而,当我将这些java片段集成到Andr

  • 我有一个可以在Eclipse中正确运行的项目,但是运行独立的jar会在运行时为类提供java.lang.NoSuchMethodError。 我解压缩了jar文件,可以在jar中的一个库文件中看到类文件,并且我确实看到了类中定义的方法。异常不是找不到类,而是找不到类中的方法。 在internet上找不到任何解决问题的有用信息。

  • 我正在尝试从下面的git链接运行代码 但我有个错误 nosuchMethodError:没有静态方法getFont(landroid/content/context;ilandroid/util/typedvalue;ilandroid/widget/textview;)landroid/graphics/typeface;在Landroid/Support/V4/Content/Res/Reso

  • 问题内容: 我有一个问题,我不确定为什么,仍然是新手,请帮助解决。 错误:java.lang.NoSuchMethodError:类Landroid / support / v7 / widget / ViewUtils中没有静态方法CombineMeasuredStates(II)I;或其超级类(“ android.support.v7.widget.ViewUtils”的声明显示在/data/