【发布时间】:2014-06-03 01:25:33
【问题描述】:
我在使用 commons-codec-1.9 的 Android api 19 中的一个简单应用上遇到此异常。 似乎 Android 使用的是旧的 commons-codec 库,但我无法弄清楚,因为。
我正在使用 Android Studio,我的 gradle 文件包含以下内容:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
我有一个例外:
java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.decode
at com.SplashActivity.onCreate(SplashActivity.java:32)
at android.app.Activity.performCreate(Activity.java:5241)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248)
at android.app.ActivityThread.access$800(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
谢谢
【问题讨论】:
-
这是一个老问题,但在我找到答案之前,谷歌就把我带到了这里。虽然文档中没有详细说明,但 Android 显然包含至少一些 Apache Commons 库的旧版本,并且这些库具有优先权。我从来没有看到你是否可以覆盖它们的明确答案,但我通过重构包名称并使用它们解决了我的问题。
标签: java android apache-commons-codec