Добавление epublib в Android Studio и запуск его

У меня проблема с библиотеками в Android Studio. Я добавил.jar в папку libs в моем проекте и щелкнул по RMB, чтобы добавить его в качестве библиотеки. В build.gradle я добавил это с зависимостями:

compile files('libs/epublib-core-latest.jar')

Это работает, но когда я запускаю приложение, я получаю эту ошибку:

Could not find class 'nl.siegmann.epublib.epub.EpubReader', referenced from method com.MJV.Reader.MainActivity.onCreate

И это код, который может быть причиной этого:

import nl.siegmann.epublib.domain.Book;
import nl.siegmann.epublib.epub.EpubReader;


public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    System.out.println("hoi");
    AssetManager assetManager = getAssets();
    try {
        InputStream epubInputStream = assetManager
                .open("books/testbook.epub");
        Book book = (new EpubReader()).readEpub(epubInputStream);
        System.out.println("Hier komt het...");
        System.out.println(book.getTitle());
    } catch (IOException e) {
        e.printStackTrace();
    }
} ...

Я думаю, что библиотека не включается, когда приложение отправляется на мой телефон, но я могу ошибаться. Любая помощь будет оценена!

Изменить: файл build.gradle:

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.5.+'
}

} применить плагин: "Android"

repositories {
mavenCentral()

}

android {compileSdkVersion 17 buildToolsVersion "17.0.0"

defaultConfig {
    minSdkVersion 7
    targetSdkVersion 16
}

}

dependencies {

// You must install or update the Support Repository through the SDK manager to use this dependency.
// The Support Repository (separate from the corresponding library) can be found in the Extras category.
// compile 'com.android.support:appcompat-v7:18.0.0'
compile files('libs/epublib-core-latest.jar')

}

1 ответ

Решение

Вы также должны включить в свой проект бинарный файл для slf4j slf4j-android-1.5.8.jar, который является зависимостью для epublib.

Вставив его в папку libs вместе с epublib, убедитесь, что вы упомянули об этом и в своем скрипте graddle.

Эта строка, взятая из Android Studio, очень удобна, поскольку компилирует все файлы *.jar в папке libs:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
Другие вопросы по тегам