2012-08-03 39 views
0

我得到一个CloneNotSupportedException的,但我不能在我的代码的任何地方找到,我调用clone()。我特地在Java文档,我找不到任何理由例外比我调用的clone()的对象上抛出的。CloneNotSupportedException的,但我从来没有调用clone()

有谁知道的另一个原因是被称为这个异常?当我设置一个对象等于另一个对象时,clone()是否被调用?我的任何类都不实现Cloneable。

这里是我的logcat:

08-03 13:04:02.751: E/AndroidRuntime(3223): FATAL EXCEPTION: main 
08-03 13:04:02.751: E/AndroidRuntime(3223): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.eti.commander/my.eti.commander.MainMenu}: java.lang.CloneNotSupportedException: Class doesn't implement Cloneable 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.os.Looper.loop(Looper.java:130) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at dalvik.system.NativeStart.main(Native Method) 
08-03 13:04:02.751: E/AndroidRuntime(3223): Caused by: java.lang.CloneNotSupportedException: Class doesn't implement Cloneable 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at java.lang.Object.clone(Object.java:155) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at my.eti.commander.RelayAPIModel$NativeCalls.InitRelayJava(Native Method) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at my.eti.commander.MainMenu.initMain(MainMenu.java:241) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at my.eti.commander.MainMenu.onCreate(MainMenu.java:81) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
08-03 13:04:02.751: E/AndroidRuntime(3223):  ... 11 more 

回答

1

从堆栈跟踪我猜想,有在

my.eti.commander.RelayAPIModel$NativeCalls.InitRelayJava(Native Method) 

东西在你的本机代码,试图克隆传递给它的Java对象并且该对象不支持Cloneable。

+0

哈啊,没错,我这样做。谢谢。 – JuiCe 2012-08-03 17:38:04

+0

嘿,我还在处理这个问题。你是对的,但我仍然陷入困境。如果你有时间,看看我的其他问题:http://stackoverflow.com/questions/11829202/using-ndk-get-clonenotsupportedexception。如果不是,不要担心。谢谢 – JuiCe 2012-08-06 14:19:43

相关问题