【问题标题】:Cannot compile a simple Google api Android app with Eclipse无法使用 Eclipse 编译简单的 Google api Android 应用程序
【发布时间】:2011-12-03 09:12:59
【问题描述】:

我正在尝试在 Eclipse 中为 Android 构建一个简单的 OAuth 客户端。

我按照code.google.com/p/google-api-java-client/wiki/Setup的指示进行操作

下载 zip 文件并将 google-api-client-1.6.0-beta.jar 添加到我在 Eclipse 中的构建路径中。所有 13 个依赖项现在都显示在 Referenced Libraries 下,如下所示。

代码很简单。我刚刚对默认的Activity做了如下改动。

public class Testing1Activity extends Activity {
/** Called when the activity is first created. */

final String                TAG             = getClass().getName();
public static final String  CLIENT_ID       = "";
public static final String  CLIENT_SECRET   = "";
public static final String  REDIRECT_URI    = "";
public static final String  SCOPE           = "https://www.googleapis.com/auth/latitude.all.best";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Json s = new Json();

    String authorizationUrl = new GoogleAuthorizationRequestUrl(CLIENT_ID, REDIRECT_URI, SCOPE)
            .build();
}
}

我不断收到这个该死的错误。 :(

W/dalvikvm(  591): Unable to resolve superclass of Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl; (18)
W/dalvikvm(  591): Link of class 'Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl;' failed
E/dalvikvm(  591): Could not find class 'com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAuthorizationRequestUrl', referenced from method com.rahul.Testing1Activity.onCreate
W/dalvikvm(  591): VFY: unable to resolve new-instance 37 (Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl;) in Lcom/rahul/Testing1Activity;
D/dalvikvm(  591): VFY: replacing opcode 0x22 at 0x000d
D/dalvikvm(  591): VFY: dead code 0x000f-001c in Lcom/rahul/Testing1Activity;.onCreate (Landroid/os/Bundle;)V
D/AndroidRuntime(  591): Shutting down VM
W/dalvikvm(  591): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(  591): FATAL EXCEPTION: main
E/AndroidRuntime(  591): java.lang.NoClassDefFoundError: com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAuthorizationRequestUrl
E/AndroidRuntime(  591):    at com.rahul.Testing1Activity.onCreate(Testing1Activity.java:25)

【问题讨论】:

    标签: java android google-api google-api-java-client


    【解决方案1】:

    所以我终于自己弄明白了。

    虽然 eclipse 显示了引用库下的所有依赖库,但它们并没有添加到最终的 apk 中。必须将它们中的每一个一个一个显式地添加到构建路径中。

    此外,从 zip 中添加所有依赖库也会产生冲突,因为其中一些 api 已经是 Android 框架的一部分。它们不需要添加。

    【讨论】:

    • 我一直在试图弄清楚如何为我的项目实施 google-api-java-client 库,而您的帖子很到位!简单地添加整个库的 jar/zip 文件对我不起作用。
    【解决方案2】:

    不要直接从不同的文件夹添加引用,请尝试创建lib文件夹并将其放在工作区的应用程序文件夹中,然后尝试提供引用,它将得到解决。我的错误也被删除了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-19
      • 2012-12-10
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多