Kann die Aktivität nicht instanziieren ... Wird von ClassNotFoundException verursacht

8

Nach der Umwandlung einer perfekt funktionierenden Anwendung in eine Bibliothek (einschließlich ihrer Aktivitätsklasse!) versuche ich, eine Anwendung zu erstellen, die diese gesamte Bibliothek verwendet, indem ich einfach die Aktivität der Bibliothek überlisten:

%Vor%

Eclipse erstellt diese neu "re-architektur" -Anwendung ohne irgendwelche Fehler, aber wenn ich versuche, es auszuführen, erhalte ich eine Ausnahme:

%Vor%

Ich habe keine Ahnung, warum dies seit dem Fehler für "Klasse nicht gefunden" passiert, wenn die Klasse genau die abgeleitete Klasse ist (ohne Fehler!) und jetzt versucht zu laufen.

Wie behebe ich Fehler?

Was vermisse ich?

BEARBEITEN (Antwort auf @CaspNZ):

Dies ist die AndroidManifest.xml des Bibliotheksprojekts:

%Vor%

Und das ist die AndroidManifest.xml der Anwendung, die das Bibliotheksprojekt verwendet:

%Vor%

Ich würde mich über jeden Hinweis freuen, der versucht, dies zu beheben, da dies das erste Mal ist, dass ich versuche, ein Bibliotheksprojekt zu verwenden, und ich bin nicht mit den "Tricks" vertraut, die das bewirken.

    
an00b 13.06.2011, 01:15
quelle

4 Antworten

1

Ich habe das Problem endlich gelöst. Es stellt sich heraus, dass ich zwei kritische Einstellungen in den Eigenschaften beider Projekte nicht richtig eingestellt habe:

  1. Im Bibliotheksprojekt "Is Library" wurde aus irgendeinem Grund nicht überprüft. Ich könnte schwören, dass ich es überprüft habe, aber Wissen, wie skurril das Android ist Entwicklungsumgebung unter Eclipse kann sein, ich vermute es wurde von Eclipse (oder dem ADT deaktiviert) plugin) als Folge eines Fehlers.
  2. Im Anwendungsprojekt habe ich Ich habe es versäumt, mein Bibliotheksprojekt hinzuzufügen als Referenz über Add... Taste. (Wie dumm könnte ich sein?)

Ich hoffe, dass andere Neulinge wie ich diese Informationen hilfreich finden. Manchmal verbirgt sich ein extrem schwieriges Problem beim Debuggen, verbirgt einen Konfigurationsfehler, wenn der unschuldige arglose gestresste Programmierer davon ausgeht, dass dies schon erledigt ist ...

    
an00b 13.06.2011, 17:01
quelle
10

Stellen Sie für jeden, der auf ADT 22 aktualisiert hat, sicher, dass Sie Android Private Libraries im Java Build Path & gt; Registerkarte "Bestellung und Export" Weitere Informationen erhalten Sie hier . Das funktioniert für mich. Vielleicht wenig Kraft, um Benutzer zu Android Studio statt Eclipse zu bewegen:))

    
nlt 17.05.2013 09:11
quelle
1

Dies kann vorkommen, wenn Sie die Aktivitäten im Bibliotheksmanifest statt im Anwendungsmanifest auflisten. Es ist nicht notwendig, & lt; activity & gt; Tags in einem Bibliotheksmanifest. (Siehe zum Beispiel dieser Thread .)

    
Ted Hopp 13.06.2011 02:07
quelle
0

Ich hatte den gleichen Fehler in einem meiner Projekte und dachte, dass ich teilen könnte, wie ich meine reparierte.

Irgendwann in meinem Projekt musste ich einen der Paketnamen ändern, in dem sich alle meine Aktivitätsklassen befinden. Als ich das tat, habe ich vergessen, das AndroidManifest zu aktualisieren, was mir den gleichen Fehler verursachte. Aktualisierung dieser behoben es.

    
Mark Pazon 09.08.2012 15:06
quelle

Tags und Links