2016-11-23 30 views
0

我正在尝试使用[boilerpipe] [1]解析文本。我将boilerpipe-1.2.0.jar,nekohtml-1.9.13.jarxerces-2.9.1.jar复制到lib文件夹并将它们添加为库。但是当我尝试运行这个项目时,我得到了一个巨大的错误。下面是它的最终分部分Android Studio:添加锅炉库后出现错误

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. 

,这里是我的应用程序的build.gradle

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. 
+0

您是否尝试过错误提示? '使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。“# – pleft

+0

这可能是因为这些库不适合Android(太大或太耗费资源,...)。 – Bevor

+0

@pleft我试过了--debug选项。我也给了非常类似的错误,这是太大,不能粘贴在这里。 – user3125971

回答

0

输出什么是你的JDK版本你正在使用?

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

UPDATE:

从错误日志您发布它看起来像错误是:

java.lang.IllegalArgumentException: bad utf-8 byte

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

+0

我正在使用openjdk 1.8 – user3125971

+0

在Android(设备上)中,您无法选择Java版本。 – Bevor

+0

@Bevor当然,我的意思是使用Android Studio编译应用程序的版本。 – pleft