1

我正在将一个 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 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
4

2 回答 2

0

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

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

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

将文件添加JAR到应由构建工具自动拾取的文件夹后,您可能必须Refresh( F5) 在 Eclipse 中将项目显示在该Android Dependencies部分中。

于 2012-06-04T02:45:10.647 回答
0

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

于 2012-06-05T20:15:41.910 回答