Frage

Ich möchte Port einige bestehende j2se Bibliotheken (z Apache Compression Libs) für Blackberry Entwicklung zu verwenden, aber es gibt einen Haken (und nicht nur eins).

Als erster ausgiebig die meist Java-Libs j2se Sammlungen und Datentypen verwenden, die normalerweise auf dem J2ME-Plattformen fehlen - aber das ist theoretisch auflösbar dank Implementierungen j2se api wie Apache Harmony-Quelle zu öffnen. Das größere Problem ist, dass, wie es scheint, Blackberry JDK auf Java basiert 1.4, so dass jeder Code, den Generika und andere 1.5 Features, wie Aufzählungen verwendet, ist nicht leicht übersetzbar auf Blackberry.

Welche eine interessante Frage aufwirft, ob es irgendwelche vorhandenen Werkzeuge oder Projekte gibt, die automatische 1.5-> 1.4 Umwandlung tun würde, während J2ME-bastardized Bytecode-Unterstützung:)

Ein Projekt, das ich finden konnte ist Retroweaver , aber ich bin mir nicht ganz sicher, wie aktiv das Projekt ist.

Ich bin sicher, dass das Problem der 1.5-> 1.4 automatischer Konvertierung ist nicht eindeutig - so jemand damit keine Erfahrung hat

War es hilfreich?

Lösung 4

So, hier ist was ich am Ende so weit zu tun. Declawer + einige benutzerdefinierte Code für Aufzählungsklassen Generation

Das Wichtigste an Declawer unterscheidet, ist, dass, obwohl es sehr einfach ist und, ehrlich gesagt, ein bisschen wie ein Hack (es beruht auf einer nicht dokumentierten Fähigkeit von JavaC), dessen Ausgang tatsächlichen Java-Code ist im Vergleich zu einer verbesserten oder umgewandelt Java-Bytecode . Das ist sehr wertvoll für mobile Java-basierte Entwicklung, ehrlich gesagt, Bytecode-Modifikation / Instrumentierung gar nicht so entwickelt für J2ME-Plattformen ist, wie es für j2se ist, und es gibt nur keine Garantien, dass die Dinge laufen die Art und Weise aus dem Kasten heraus arbeiten sie tun mit j2se wo diese Werkzeuge bereits von ganz wenigen Entwickler verwendet.

Declawer Funktionalität ist begrenzt (keine Liebe für 1,5 Aufzählungen oder Autoboxing), also musste ich einen Python-Skript hinzufügen, um automatisch Equivalent-Klassen in der Funktionalität 1,5 Aufzählungen von einfachen Deskriptoren zu erzeugen. Diese Generation geschieht zum Zeitpunkt der Erstellung.

Dies richtet ich meine Bedenken bisher, mit der einzigen Ausnahme, einen guten J2ME-freundlichen IoC-Container zu finden für meine App zu verwenden (wenn man diese Leute versucht, es so schwer ist, sie aufzugeben.)

Aber das ist eine Diskussion für einen anderen Thread.

Andere Tipps

Haben Sie versucht, Retrotranslator ? Ich habe gelesen, dass es einen besseren Job als Retroweaver tut.

Hier etwas anderes ich hier auf Stack-Überlauf gefunden:

  

mit der regulären javac übersetzen und eine ältere JVM Targeting geben Sie die richtige Bytecode für Generika zumindest

, die absolut Sinn macht zu versuchen.

Ich habe verwendet Retroweaver in der Vergangenheit (J2SE, nicht J2ME) - es funktionierte wirklich gut. Die Kosten für die es ein paar zusätzliche Runtime-Abhängigkeiten verwendet wird.

Aktualisieren 2013.01.28 : Nach dem Laufen Probleme mit Retroweaver, ich habe geschaltet

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top