0

我正在使用以下 HTTP 客户端库 - https://github.com/kevinsawicki/http-request

...当我在我的应用程序中使用它时,我收到以下运行时错误。我的应用程序编译正常。

W/dalvikvm: VFY: 无法解析静态方法 4110: Lcom/github/kevinsawicki/http/HttpRequest;.get(Ljava/lang/CharSequence;)Lcom/github/kevinsawicki/http/HttpRequest;

这是我打开的 github 问题 - https://github.com/kevinsawicki/http-request/issues/34

4

2 回答 2

0

我认为您在运行时忘记检查导出复选框。例如(F4 -> 项目结构,模块,选择模块,--> 依赖项)

于 2013-05-20T16:37:16.397 回答
0

听起来您的库没有被打包到您的 apk 中。

阅读有关设置库以及在另一个项目中使用该库的部分。 http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

简短的故事是库需要在项目属性的 Android 选项卡中启用“是库”选项。消费项目需要将该库添加到其项目属性 android 选项卡上的库列表中。


我自己刚开始使用Android Studio,所以我不确定在那里做什么。当我真的对 APK 中是否有某些内容有疑问时,我会这样做:

  1. 生成 APK。我知道 Eclipse 把它放在 bin/ 目录中,不确定 AS 把它放在哪里。
  2. 使用 unzip 解压它(Linux 上的 7zip 或 unzip 可以做到这一点,一些解压缩程序需要您将 .apk 重命名为 .zip)
  3. 如果您的库包含非 java 文件,您将在 APK 中看到它们。
  4. 如果库只是 java 代码,则需要使用 dex2jar 将 dex 文件拉开。http://code.google.com/p/dex2jar/downloads/list

    [nedwidek@yule bin]$ d2j-dex2jar.sh classes.dex dex2jar classes.dex -> classes-dex2jar.jar [nedwidek@yule bin]$ unzip -l classes-dex2jar.jar

  5. 这样做表明我的这个特定项目的 APK 确实包含 ActionBarSherlock 的所有类文件。

于 2013-05-19T19:01:33.170 回答