Android - интеграция с Jar - либо ошибка Dalvik 1, либо не удается разрешить суперкласс

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 - Target Android 2.1. Я знаю, что есть проблемы вокруг ADT17/ADT18 с интеграцией Jar's.

Теперь я прошел через всевозможные комбинации и большинство из них, которые должны работать от того, что я читаю на других страницах, дает мне ошибку Dalvik 1.

Я могу заставить его запускать без ошибки Dalvik 1, установив там Jar файл как часть проекта + Добавить Jar. Тогда затмение радует. Но когда я запускаю функцию в AVD, я получаю неспособную разрешить ошибку суперкласса.

(+) Установив добавленный файл.Jar как экспортированный, внутри меню пути сборки я получаю ошибку Dalvik 1.

Если я помещаю банку в папку 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
Теги:
jar
pdf
superclass

2 ответа

0

Решил эту проблему. Кажется, я "удвоил" некоторые термины из-за имен, которые я использовал для пакетов/классов. Создал новый проект с разными именами.

  • 0
    Как производительность в lib. Я задал вопрос здесь: stackoverflow.com/questions/11613783/… . Это кажется очень медленным для меня
0

Эта ошибка указывает, что он не смог найти класс при попытке запустить приложение.

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

Убедитесь, что PdfViewer.jar существует в папке /libs/ в вашем проекте.

После того, как вы добавили файл JAR в папку, он автоматически должен быть поднят средствами сборки, вам может потребоваться Refresh (F5) проект в Eclipse, чтобы он отображался в разделе " Android Dependencies ".

  • 0
    Привет Анту. Это было опробовано, и теперь я также установил ссылку на изображение, показывающее, как я делаю то, что вы предлагаете.
  • 0
    Так много людей просматривали, но только 1 ответ .. Любой, у кого есть какие-либо предложения, очень приветствуется.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню