【问题标题】:Android Studio: java.lang.NoClassDefFoundError from boilerpipeAndroid Studio:来自boilerpipe的java.lang.NoClassDefFoundError
【发布时间】:2016-11-24 08:11:21
【问题描述】:

我正在尝试使用锅炉管来获取诸如袖珍应用程序之类的文本文章。应用程序编译正确但出现运行时异常:

java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:309)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    at java.lang.Thread.run(Thread.java:818)
  Caused by: java.lang.NoClassDefFoundError: de.l3s.boilerpipe.sax.BoilerpipeHTMLParser
    at de.l3s.boilerpipe.sax.BoilerpipeSAXInput.getTextDocument(BoilerpipeSAXInput.java:51)
    at de.l3s.boilerpipe.extractors.ExtractorBase.getText(ExtractorBase.java:69)
    at de.l3s.boilerpipe.extractors.ExtractorBase.getText(ExtractorBase.java:87)
    at com.example.pushpankar.fastreader.ReadView$fetchUrlTxt.doInBackground(ReadView.java:154)
    at com.example.pushpankar.fastreader.ReadView$fetchUrlTxt.doInBackground(ReadView.java:147)
    at android.os.AsyncTask$2.call(AsyncTask.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
    at java.lang.Thread.run(Thread.java:818) 

以下是我已经尝试过的事情:

  1. 清理并构建项目
  2. gradlew 清洁
  3. 通过不同的方法添加库

我在 github 上看到了同样的错误。

这是我的 build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "com.example.pushpankar.fastreader"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    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 project(':boilerpipe-1.2.0-android')
    compile project(':xerces-for-android')
    compile project(':nekohtml')
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.android.support:support-v4:25.0.1'
    testCompile 'junit:junit:4.12'
    compile files('libs/slf4j-android-1.6.1-RC1.jar')
}

【问题讨论】:

标签: java android android-studio web-scraping boilerpipe


【解决方案1】:

似乎您正在使用一些混淆器将其重命名为其他字符,这会产生错误?

【讨论】:

  • 我认为我没有使用任何“混淆器”。我第一次听说这个词。
  • 混淆器用于在android example proguard中压缩代码/资源,你能确认BoilerpipeHTMLParser在正确的包中吗??
  • 是的 BoilerpipeHTMLParser 在包中。
  • 当我打开该文件时,androd studio 说反编译的 .class 文件,字节码版本:49.0 (java 5.0)。这是否与我的问题有关?
  • 那应该不是问题,做一件事,删除后清除 C:\Users\.gradle\cache 然后清理解决方案并查看
猜你喜欢
  • 2015-04-28
  • 1970-01-01
  • 2015-08-20
  • 2015-06-07
  • 1970-01-01
  • 2016-08-23
  • 2013-07-04
  • 2014-08-28
  • 2013-08-28
相关资源
最近更新 更多