当前位置: 首页 > 知识库问答 >
问题:

Android Studio:添加boilerpipe库后生成错误

马胜泫
2023-03-14

我正在尝试使用[锅炉管][1]解析文本。我复制了boilerpipe-1.2.0。jar,nekohtml-1.9.13。jar和xerces-2.9.1。jar添加到lib文件夹,并将其添加为库。但是当我尝试运行这个项目时,我得到了一个巨大的错误。这是它的结尾部分-

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

这是我的应用程序版本。格拉德尔

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.example.pushpankar.reader"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner  "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:support-v4:25.0.0'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:multidex:1.0.1'
    compile files('libs/boilerpipe-1.2.0/lib/xerces-2.9.1.jar')
    compile files('libs/boilerpipe-1.2.0/lib/nekohtml-1.9.13.jar')
    compile files('libs/boilerpipe-1.2.0/boilerpipe-1.2.0.jar')
}

这是带有--debug选项的输出

Caused by: com.android.dx.cf.iface.ParseException: bad utf-8 byte a0 at offset 00000004\n\tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:374)\n\tat com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)\n\tat com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:294)\n\tat com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)\n\tat com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)\n\tat com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)\n\tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)\n\tat com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)\n\tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)\n\tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)\n\tat com.android.dx.command.dexer.Main.parseClass(Main.java:787)\n\tat com.android.dx.command.dexer.Main.access$1600(Main.java:88)\n\tat com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1722)\n\tat com.android.dx.command.dexer.Main.processClass(Main.java:773)\n\t... 16 more\nCaused by: java.lang.IllegalArgumentException: bad utf-8 byte a0 at offset 00000004\n\tat com.android.dx.rop.cst.CstString.throwBadUtf8(CstString.java:172)\n\tat com.android.dx.rop.cst.CstString.utf8BytesToString(CstString.java:143)\n\tat com.android.dx.rop.cst.CstString.\u003cinit\u003e(CstString.java:200)\n\tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)\n\t... 29 more\n","tool":"Dex"}
    13:53:36.360 [ERROR] [org.gradle.api.Project] AGPBI: {"kind":"error","text":"1 error; aborting","sources":[{}]}
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':app:transformClassesWithDexForDebug'.
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] > com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] 
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] * Try:
    13:53:36.374 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the stack trace.

共有1个答案

秦俊
2023-03-14

您使用的JDK版本是什么?

您必须使用与编译外部JAR(boilerpipe)相同或更高的Java版本。

更新:

从您发布的错误日志来看,错误似乎是:

<代码>java。lang.IllegalArgumentException:错误的utf-8字节

这个错误已经在boilerpipe项目的github问题跟踪中填写:https://github.com/matanster/boilerpipe/issues/74

 类似资料:
  • 我正在尝试用discord4j构建一个discordbot。我将这行代码添加到build.gradle文件中。 然而,在我尝试构建应用程序后,构建在task < code >:app:checkdebugduplicateclass 处失败。 我注意到模块不和不中有一个重复的类。搜索解决方案后,我找到了这个答案: 有时,重复类异常意味着某个依赖项隐式使用了项目中使用的某个库的较旧或较新版本, 但是

  • 这在某个时间点上很有效,但我有一个用例,在应用程序运行时可以添加用户。 我可以通过哪种方法(通过控制器/服务)进行启动后操作?我想它可能是(它包含方法),但我不确定如何引用或配置它。

  • Boilerpipe 是一个能从 HTML 中剔除广告和其他附加信息,提取出目标信息(如正文内容、发布时间)的 Java 库。其算法的基本思想是通过训练获得一个分类器来提取出我们需要的信息。 Boilerpipe 的包结构: boilerpipe,根目录 document,文档包,定义了 boilerpipe 所处理文档数据类型,主要包括 TextDocument 和 TextBlock 。一个

  • 我错过了什么依赖吗?

  • 我在试着设置QAF。早些时候,当我设置框架时,我可以在控制台和输出日志文件中看到驱动程序日志。但现在我看不到他们了。我没有在日志文件配置或它的目录中做任何更改。有人能给我一些建议吗?