Klasse wird nicht gefunden

  • 12 Antworten
  • Letztes Antwortdatum
M

marvegon

Neues Mitglied
0
Hallo,

bei mir wird aktuell eine Klasse nicht gefunden. Das Kompilieren und Starten funktioniert problemlos, allerdings stürtzt das Programm wenn ich eine bestimmte Klasse verwende immer ab. Hier die Logcat:

Code:
07-31 09:04:39.517: D/gralloc_goldfish(4789): Emulator without GPU emulation detected.
07-31 09:05:16.767: W/dalvikvm(4789): VFY: unable to resolve exception class 726 (Ljava/rmi/RemoteException;)
07-31 09:05:16.767: W/dalvikvm(4789): VFY: unable to find exception handler at addr 0xf4
07-31 09:05:16.767: W/dalvikvm(4789): VFY:  rejected Lcom/example/aaserver_test3/Service;.login ([Ljava/lang/String;)V
07-31 09:05:16.767: W/dalvikvm(4789): VFY:  rejecting opcode 0x0d at 0x00f4
07-31 09:05:16.767: W/dalvikvm(4789): VFY:  rejected Lcom/example/aaserver_test3/Service;.login ([Ljava/lang/String;)V
07-31 09:05:16.767: W/dalvikvm(4789): Verifier rejected class Lcom/example/aaserver_test3/Service;
07-31 09:05:16.767: D/AndroidRuntime(4789): Shutting down VM
07-31 09:05:16.767: W/dalvikvm(4789): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
07-31 09:05:16.787: E/AndroidRuntime(4789): FATAL EXCEPTION: main
07-31 09:05:16.787: E/AndroidRuntime(4789): java.lang.IllegalStateException: Could not execute method of the activity
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.view.View$1.onClick(View.java:3599)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.view.View.performClick(View.java:4204)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.view.View$PerformClick.run(View.java:17355)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.os.Handler.handleCallback(Handler.java:725)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.os.Looper.loop(Looper.java:137)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.app.ActivityThread.main(ActivityThread.java:5041)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at java.lang.reflect.Method.invokeNative(Native Method)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at java.lang.reflect.Method.invoke(Method.java:511)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at dalvik.system.NativeStart.main(Native Method)
07-31 09:05:16.787: E/AndroidRuntime(4789): Caused by: java.lang.reflect.InvocationTargetException
07-31 09:05:16.787: E/AndroidRuntime(4789):     at java.lang.reflect.Method.invokeNative(Native Method)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at java.lang.reflect.Method.invoke(Method.java:511)
07-31 09:05:16.787: E/AndroidRuntime(4789):     at android.view.View$1.onClick(View.java:3594)
07-31 09:05:16.787: E/AndroidRuntime(4789):     ... 11 more
07-31 09:05:16.787: E/AndroidRuntime(4789): Caused by: java.lang.VerifyError: com/example/aaserver_test3/Service
07-31 09:05:16.787: E/AndroidRuntime(4789):     at com.example.aaserver_test3.Main.einloggen(Main.java:54)
07-31 09:05:16.787: E/AndroidRuntime(4789):     ... 14 more
07-31 09:05:19.127: I/Process(4789): Sending signal. PID: 4789 SIG: 9
Java.rmi.RemoteException wird nicht gefunden, obwohl es eigentlich eingebunden ist..

Projekt > JRE System Library [JavaSe-1.7] > rt.jar >java.rmi >RemoteException.class

Ich habe bei den Build-Path-Einstellungen auch den Haken bei der entsprechenden library gesetzt, rebuild und Clean haben auch nicht wirklich geholfen.

Weiß einer woran das liegen könnte, bze was ich noch versuchen könnte?

grüße, marvegon
 
Das sieht mir nicht aus als ob die Klasse nicht gefunden wird sondern als würde RMI halt ne Exception werfen weil irgend ein Fehler auftritt.

Oder hast du die Klasse vlt. mehrfach eingebunden über ne Library oder so?
 
JustinTime schrieb:
Das sieht mir nicht aus als ob die Klasse nicht gefunden wird sondern als würde RMI halt ne Exception werfen weil irgend ein Fehler auftritt.

Sicher? Für mich sieht es so aus, als würde in meiner Funktion (login), in der die Klasse RemoteException verwendet wird ein Fehler auftreten. Der Bezug zu dieser Klasse kann aber nicht abgelöst werden und deswegen kann die von login() beworfene Exception nicht gehandelt werden..kann mich aber auch irren :)
 
Was steht denn in Zeile 54 von Main.java?
 
Vacutainer schrieb:
Was steht denn in Zeile 54 von Main.java?

Code:
MeinService service = new MeinService();
MeinService ist der Thread, in dem die ungehandelte Exception auftritt.

Code:
public class MeinService extends AsyncTask<String, Integer, String[]> {

    //Code
}
Dürfte der Thread sein, von dem hier die Rede ist:

Code:
07-31 11:34:56.687: W/dalvikvm(7540): threadid=1: thread exiting with uncaught exception (group=0x40a71930)

EDIT:

Ich denke mal, dass mit der Stelle eigentlich alles in Ordnung ist. So wie ich das sehe wird einfach in der login() - funktion des MeinService - Threades die Klasse java.rmi.RemoteException nicht gefunden. Das ganze wird dann einfach in den kompletten Thread und von dort aus in die Main.java mitgeschleppt.
 
Hast du denn die .jar auch im /libs Ordner?

Und kommt der Fehler auch auf nem richtigen Telefon/Tablet?
 
Vacutainer schrieb:
Hast du denn die .jar auch im /libs Ordner?

Ich glaube nicht. Ich hatte mit dort Klassen über Axis2 erstellen lassen, in denen wurde dann die ein oder andere Klasse nicht gefunden. Also Fehlerbehebung hatte mir Eclipse dort "Fix projekt Setup" vorgesschlagen und dort habe ich dann "Add library 'JRE System [jre7]' to build path" ausgewählt.

Der entsprechende Ordner wurde dann direktt zum Projekt hinzugefügt:

Siehe hier

Im /libs - Ordner sind nur die Sachen die ich selbst dort reingepackt habe.

Vacutainer schrieb:
Und kommt der Fehler auch auf nem richtigen Telefon/Tablet?

Kann und konnte es bisher leider nur im Emulator testen..
 
Naja aber der ursprüngliche Fehler tritt ja hier auf:
Caused by: java.lang.VerifyError: com/example/aaserver_test3/Service
at com.example.aaserver_test3.Main.einloggen(Main.java:54)

Hier hat jemand ein ähnliches Problem:
java - Android Mantis client "Could not find class" error - Stack Overflow

RMI ist laut dem Eintrag unter Android nicht verfügbar.
Und Axis scheint das auch zu nutzen. In Eclipse findet der die Klassen dann zwar, aber Android kennt die nicht, weil es die dort nicht gibt.
 
amfa schrieb:
RMI ist laut dem Eintrag unter Android nicht verfügbar.
Und Axis scheint das auch zu nutzen. In Eclipse findet der die Klassen dann zwar, aber Android kennt die nicht, weil es die dort nicht gibt.

Okay, danke.

Weiß jemand wie man das trotzdem nutzten kann? Weil irgendwie muss es ja eigentlich gehen, sonst würde es ja gar keinen Sinn machen den "Axis2 Code Generator" bereitzustellen^^

Die Tutorials die ich mir bisher dazu angeschaut habe, haben das
Einbinden der Blibiothek entweder nichte erwähnt, oder sie haben nicht funktioniert..
 
Waren denn die Beispiele die du dir angeguckt hast für Android oder für Java?

lg. Dagobert
 
DagobertDokate schrieb:
Waren denn die Beispiele die du dir angeguckt hast für Android oder für Java?

Kann auch sein, dass mir das was für Java untergerutscht ist. Aber in den meisten Themen die ich bisher gefuden haben ging es sowieso eher darum, dass man leiber auf REST umsteigen sollte..Was bei mir aber nicht geht.
 
Ja die abkürzung RMI ist mir lange nicht mehr zu Ohren gekommen ;)
Was spricht gegen REST? Vorgaben? oder Altlasten? :D

lg. Dagobert
 
DagobertDokate schrieb:
Was spricht gegen REST? Vorgaben? oder Altlasten? :D

Vorgaben. Würde gerne auf REST umsteigen. :)
 
Zurück
Oben Unten