android - 将 epublib 添加到 Android Studio 并运行它

标签 android jar android-studio epub epublib

我对 Android Studio 的库有疑问。 我在项目的 libs 文件夹中添加了 .jar,然后单击 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()

安卓{ 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')

最佳答案

您还必须在项目中包含 slf4j 的二进制文件 slf4j-android-1.5.8.jar 是 epublib 的依赖项。

将它与 epublib 一起粘贴到您的 libs 文件夹后,确保您也在您的 gradle 脚本中提及它。

从 Android Studio 中获取的这一行非常方便,因为它编译了 libs 文件夹中的所有 *.jar 文件:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

关于android - 将 epublib 添加到 Android Studio 并运行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19078069/

相关文章:

java - Android studio 不检查 mFusedLocationProviderClient.getLastLocation().addOnSuccessListener 并返回当前位置 null

android - Travis CI Build在Android应用程序上失败不受支持的major.minor版本52

android - 在 android kotlin mvvm 中没有主构造函数就不可能进行父类(super class)型初始化

java - 调用使用 HashMap 作为参数的 Java 方法

java - 如何从 Java JAR 文件中获取资源/文件的路径

java - 从运行的应用程序中恢复Jar

android - 如何将 Activity 显示为对话框而不是新屏幕?

android - 如何从我的 Android 应用程序中获取资源的目录列表?

android - 是否可以 headless (headless)打开 Android 模拟器并让它自动运行 apk?

java - 该元素既没有附加源也没有附加 Javadoc,因此找不到 Javadoc