java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Hex.encodeHexString

时间:2014-01-18 17:52:03

标签: java android eclipse kaltura

我在我的Android应用程序中使用Kaltura API。

我可以使用多个API调用,但每次我尝试使用包含在commons-codec-1.4.jar中的方法时,我都会收到错误并且应用程序崩溃。

这是我的LogCat:

01-18 19:38:27.863: E/AndroidRuntime(21488): FATAL EXCEPTION: main
01-18 19:38:27.863: E/AndroidRuntime(21488): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
01-18 19:38:27.863: E/AndroidRuntime(21488):    at org.apache.commons.codec.digest.DigestUtils.md5Hex(DigestUtils.java:226)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.signature(KalturaClientBase.java:583)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.extractParamsFromCallQueue(KalturaClientBase.java:491)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.KalturaClientBase.doQueue(KalturaClientBase.java:247)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.kaltura.client.services.KalturaMediaService.add(KalturaMediaService.java:65)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at adi.apps.wedding.MyProfile.onClick(MyProfile.java:120)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.view.View.performClick(View.java:4240)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.view.View$PerformClick.run(View.java:17721)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Handler.handleCallback(Handler.java:730)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.os.Looper.loop(Looper.java:137)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at android.app.ActivityThread.main(ActivityThread.java:5103)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at java.lang.reflect.Method.invokeNative(Native Method)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at java.lang.reflect.Method.invoke(Method.java:525)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-18 19:38:27.863: E/AndroidRuntime(21488):    at dalvik.system.NativeStart.main(Native Method)

我认为我的BuildPath中存在一些问题,但我无法指出任何具体内容。

我有以下Jar:

commons-codec-1.4.jar
commons-httpclient-3.1.jar
(under the kalturaClient lib)

android-support-v4.jar
(under my App lib)

调试时,我可以看到它在这个方法中失败了:

String md5 = DigestUtils.md5Hex(str);

而且,我可以看到该库没有来源:

import org.apache.commons.codec.digest.DigestUtils;

注意:此元素既没有附加源也没有附加Javadoc,因此找不到Javadoc

2 个答案:

答案 0 :(得分:1)

为什么你不能改变kaltura客户端? 你有资源,所以只需做出必要的改变

答案 1 :(得分:0)

commons-codec-1.4.jar放入App的lib中。显然,它是必需的但不存在。