Es wurde versucht, eine Kernklasse (java. * oder javax. *) in eine andere als eine Kernbibliothek aufzunehmen

9

Hallo, ich bin ein neuer Android. Ich arbeite durch die Beispiele und habe einen Fehler beim Ausführen der HelloGridView App. Eclipse gibt den folgenden Fehler aus. Hat jemand den folgenden Fehler gehabt? Danke.

[2010-12-06 14:38:16 - HelloGridView] Problembehandlung "javax / net / ServerSocketFactory.class": [2010-12-06 14:38:16 - HelloGridView] Versuchen Sie, eine Kernklasse (java. * Oder javax. *) In etwas anderes einzubeziehen als eine Kernbibliothek. Es ist wahrscheinlich, dass Sie versucht haben, sie einzubeziehen in einer Anwendung die Kernbibliothek (oder ein Teil davon) von einem Desktop virtuelle Maschine. Dies wird sicherlich nicht funktionieren. Zumindest, es gefährdet die Kompatibilität Ihrer App mit zukünftigen Versionen der Plattform. Es ist auch oft von fragwürdiger Rechtmäßigkeit.

Wenn Sie wirklich beabsichtigen, eine Core-Bibliothek zu erstellen - das ist nur als Teil der Erstellung einer vollständigen virtuellen Maschine Verteilung, im Gegensatz zum Erstellen einer Anwendung - dann verwenden Sie die "--core-library" -Option, um diese Fehlermeldung zu unterdrücken.

Wenn Sie weitermachen und "--core-library" verwenden, bauen Sie tatsächlich ein Anwendung, dann seien Sie gewarnt, dass Ihre Anwendung immer noch fehlschlägt Irgendwann zu bauen oder zu laufen. Sei bitte auf böse Kunden vorbereitet die zum Beispiel feststellen, dass Ihre Anwendung einmal nicht mehr funktioniert Sie aktualisieren ihr Betriebssystem. Sie werden dafür verantwortlich sein Problem.

Wenn Sie legitim einen Code verwenden, der zufällig in einem Kern liegt Paket, dann ist die einfachste sichere Alternative, die Sie haben, das Umpacken dieser Code. Das heißt, verschieben Sie die fraglichen Klassen in Ihr eigenes Paket Namensraum. Dies bedeutet, dass sie niemals im Konflikt mit dem Kern stehen werden Systemklassen. Wenn Sie feststellen, dass Sie dies nicht tun können, dann ist das ein Hinweis darauf, dass der Weg, auf dem Sie sich befinden, letztendlich zu Schmerzen führt, Leiden, Kummer und Klage.

[2010-12-06 14:38:16 - HelloGridView] 1 Fehler; abbrechen [2010-12-06 14:38:16 - HelloGridView] Die Konvertierung in Dalvik-Format ist fehlgeschlagen mit Fehler 1

    
turtleboy 06.12.2010, 15:18
quelle

7 Antworten

5

Android Framework erlaubt kein Hinzufügen von JAVA-Kernbibliotheken in Ihrem Projekt als externe jars.

Hier erfahren Sie, wie Sie Bibliotheken zu Ihrer Anwendung hinzufügen können:

  1. Öffnen Sie die Projekteigenschaften, indem Sie mit der rechten Maustaste auf das Projekt klicken und Eigenschaften
  2. auswählen
  3. Wählen Sie den JAVA-Build-Pfad im linken Bereich
  4. aus
  5. Wählen Sie die Registerkarte Bibliotheken von der rechten Seite
  6. aus
  7. Klicken Sie auf Bibliothek hinzufügen
  8. Wählen Sie die JRE-Systembibliothek aus und fügen Sie das erforderliche Paket hinzu.
Shardul 06.12.2010, 16:13
quelle
1

Ich hatte das gleiche Problem und bemerkte, dass ich die System-JRE-Bibliothek als eine der Build-Pfad-Abhängigkeiten hinzugefügt hatte. Das Problem ist jedoch nach dem Entfernen nicht verschwunden.

Ich habe dann die android.jar-Datei als Build-Pfad-Abhängigkeit entfernt und es hat angefangen zu arbeiten. Könnte sein, dass es mit einem Include aus einem der anderen Projektabhängigkeiten kollidierte, da das Projekt von anderen Android-Projekten abhängig war.

    
apoorv020 20.01.2012 07:35
quelle
0

Für Leute, die nicht auf Englisch arbeiten, könnte es auch Ihr Projektname sein, der Sonderzeichen enthält (éàè ...). Ich hatte das gleiche Problem, habe meine Projekte umbenannt (mit F2) und es hat funktioniert.

    
Setsuki 19.12.2011 14:14
quelle
0

Ich habe diesen Fehler beseitigt, indem ich die Projektabhängigkeiten überprüft und die Android-Abhängigkeiten entfernt habe.

In Eclipse: Rechtsklick auf das Projekt - & gt; Eigenschaften- & gt; Java-Buildpfad - & gt; Bibliotheken und dort entfernte ich die Android-Abhängigkeiten

    
pointiA 28.03.2012 07:47
quelle
0

Aktivieren Sie das Kontrollkästchen der Systembibliothek, wenn Sie die externen JAR-Dateien über Pfad erstellen - Bibliotheken hinzufügen - Benutzerbibliothek - Benutzerbibliotheken - neu

hinzufügen     
Bryan 22.03.2012 09:22
quelle
0

Ich hatte dasselbe Problem und nach ein paar Tagen der Suche und des Kampfes fand ich diesen Thread. Es löst meine Probleme nicht, aber hilft mir, die Lösung zu finden. Ich mache diese oben genannten Schritte:

  
  1. Öffnen Sie die Projekteigenschaften, indem Sie mit der rechten Maustaste auf das Projekt klicken und auswählen   Eigenschaften.
  2.   
  3. Ich sah, dass ich Android 2.1-Bibliothek und Android 1.6-Bibliothek hatte.
  4.   
  5. Alle Bibliotheken wurden entfernt.
  6.   
  7. Die Android-Version meines Projekts wurde von 1.6 auf 2.2.1 geändert
  8.   
  9. Säubern Sie das Projekt
  10.   

Das hat mein Problem gelöst. Die Anwendung funktioniert jetzt. BTW, die Anwendung, die ich versuchte, ist eine automatische Antwort von Android ( Ссылка )

    
SandroG 14.03.2012 21:04
quelle
-1

Das Entfernen von SPACES aus einem importierten Projektnamen hat das Problem für mich behoben.

    
bgolson 05.04.2013 14:21
quelle

Tags und Links