【问题标题】:Android - Jar integration - Either Dalvik Error 1 or Unable to resolve superclassAndroid - Jar 集成 - Dalvik 错误 1 ​​或无法解析超类
【发布时间】:2012-06-04 00:51:44
【问题描述】:

我正在将一个 Jar 文件集成到一个测试项目中,以完成 PDF 文件的读取。这是我正在尝试集成的库:

https://github.com/jblough/Android-Pdf-Viewer-Library


我需要添加一个 jar 文件并从中派生活动。首先让我说,我没有使用过集成 .jar 文件,所以我可能在“导出活动”时做错了。虽然现在我想我已经尝试了所有可能的方法来让它发挥作用。

我制作了一个新文件 - PdfReader:

package net.sf.andpdf.pdfviewer;

import android.os.Bundle;

public class PdfReader extends PdfViewerActivity {

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    @Override
    public int getNextPageImageResource() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public int getPdfPageNumberEditField() {
        // TODO Auto-generated method stub
        return 0;
    }
}

我运行 Eclipse 3.7.2 和 ADT18 - 目标 Android 2.1。 我知道,ADT17 / ADT18 与 Jar 的集成存在问题。

我现在已经完成了各种组合,并且大多数组合应该可以从我在其他页面上阅读的内容开始工作,但给了我一个 Dalvik 1 错误。

我可以让它在没有 Dalvik 1 错误的情况下启动,方法是将 Jar 文件设置为项目的一部分 + 从那里添加 Jar。然后eclipse很开心。但是当我在 AVD 中启动该函数时,我得到了无法解决超类错误。

(+) 通过将添加的 .Jar 文件设置为导出,在构建路径菜单中,我得到一个 Dalvik 1 错误。

如果我将 jar 放在 libs 文件夹中(直接导入)到 Android 依赖项,我会收到 Dalvik 1 错误。

我尝试将项目导入到我的旧笔记本电脑上,该笔记本电脑上有 ADT15,但我得到“无法解析超类”。

我需要其他尝试的建议,因为我已经坐在那里看了一个星期了,但没有得到任何结果... :-/


这是我在 AVD 中遇到的错误


06-04 00:40:47.636: D/ddm-heap(236): Got feature list request
06-04 00:40:47.716: W/dalvikvm(236): Unable to resolve superclass of Lnet/sf/andpdf/pdfviewer/PdfReader; (27)
06-04 00:40:47.716: W/dalvikvm(236): Link of class 'Lnet/sf/andpdf/pdfviewer/PdfReader;' failed
06-04 00:40:47.716: E/dalvikvm(236): Could not find class 'net.sf.andpdf.pdfviewer.PdfReader', referenced from method net.sf.andpdf.pdfviewer.Niels.onClick
06-04 00:40:47.716: W/dalvikvm(236): VFY: unable to resolve const-class 26 (Lnet/sf/andpdf/pdfviewer/PdfReader;) in Lnet/sf/andpdf/pdfviewer/Niels;
06-04 00:40:47.716: D/dalvikvm(236): VFY: replacing opcode 0x1c at 0x000a
06-04 00:40:47.716: D/dalvikvm(236): Making a copy of Lnet/sf/andpdf/pdfviewer/Niels;.onClick code (124 bytes)
06-04 00:41:17.527: D/AndroidRuntime(236): Shutting down VM
06-04 00:41:17.527: W/dalvikvm(236): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
06-04 00:41:17.527: E/AndroidRuntime(236): Uncaught handler: thread main exiting due to uncaught exception
06-04 00:41:17.536: E/AndroidRuntime(236): java.lang.NoClassDefFoundError: net.sf.andpdf.pdfviewer.PdfReader
06-04 00:41:17.536: E/AndroidRuntime(236):  at net.sf.andpdf.pdfviewer.Niels.onClick(Niels.java:44)

这是导致 DALVIK 1 错误的方式:


抱歉链接,但我还不能在这里发布图片:

  http://euroturbo.net/tester_problem.jpg

【问题讨论】:

    标签: java android pdf jar superclass


    【解决方案1】:

    此错误表示当您尝试运行应用程序时找不到该类。

    E/AndroidRuntime(236): java.lang.NoClassDefFoundError: net.sf.andpdf.pdfviewer.PdfReader
    

    确保PdfViewer.jar 存在于您项目的/libs/ 文件夹中。

    JAR 文件添加到构建工具应自动获取的文件夹后,您可能需要在Eclipse 中为它添加Refresh (F5) 项目显示在Android Dependencies 部分。

    【讨论】:

    • 嗨安特。这已经尝试过了,我现在还设置了一个图片链接,显示我正在按照您的建议进行操作。
    • 所以看了很多人,但只有1个回答。。欢迎大家有什么建议。
    【解决方案2】:

    解决了这个问题。由于我用于包/类的名称,我似乎“加倍”了一些术语。创建了一个不同名称的新项目。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多