Android - Jar集成 - 无论是Dalvik Error 1还是无法解析超类

时间:2012-06-04 00:51:45

标签: java android pdf jar superclass

我正在将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错误。

我可以通过设置Jar文件作为项目的一部分+从那里添加Jar来使它在没有Dalvik 1错误的情况下启动。然后日食很开心。但是当我在AVD中启动该功能时,我无法解决超类错误。

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

如果我将jar放在libs文件夹中(直接导入)到Android Dependencies,我会收到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

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

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