CloneNotSupportedException, но я никогда не вызываю clone()

Я получаю исключение CloneNotSupportedException, но не могу найти где-нибудь в своем коде, где я вызываю clone(). Я посмотрел в Java Docs, и я не могу найти никаких причин для этого исключения, кроме меня, вызывая 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.

Другие вопросы по тегам