我在我的 logcat 中遇到了一些错误,这些错误在尝试执行一些单一请求时使我的应用程序崩溃。我知道您必须生成一个包含所有依赖项的特殊 unirest jar,但我遇到了 maven 问题并且没有这样做,而是将依赖项单独包含在 libs 文件夹中。我已将问题缩小到下面的单个错误。
日志猫:
java.lang.VerifyError: com/mashape/unirest/http/options/Options
at com.mashape.unirest.http.HttpClientHelper.prepareRequest(HttpClientHelper.java:154)
at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:131)
at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68)
我知道 java.lang.verifyerror 是由在编译时与运行时给出的不同库引起的。但我不知道如何解决这个问题。请帮忙,确保我需要的所有依赖项都在下面,因为在此之前我没有使用过 unirest。
构建.Gradle:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/unirest-java-1.3.20.jar')
compile files('libs/rebound-0.3.6.jar')
compile files('libs/commons-io-2.4.jar')
compile files('libs/json-20140107.jar')
compile files('libs/httpmime-4.3.5.jar')
compile files('libs/httpclient-4.3.5.jar')
compile files('libs/httpasyncclient-4.0.2.jar')
compile files('libs/httpcore-4.3.2.jar')
compile files('libs/commons-codec-1.6.jar')
compile files('libs/commons-logging-1.1.3.jar')
}
我的 libs 文件夹是什么样的:
commons-io-2.4.jar
httpcore-4.3.2.jar
httpclient-4.3.5.jar
commons-logging-1.1.3.jar
json-20140107.jar
rebound-0.3.6.jar
unirest-java-1.3.20.jar
commons-codec-1.6.jar
httpmime-4.3.5.jar
httpasyncclient-4.0.2.jar
还将它包含在 build.gradle 中,因为我在尝试构建 gradle 文件时遇到了重复文件错误:
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}