Domanda

Voglio porta alcune librerie J2SE esistenti (ad esempio librerie Apache compressione) da utilizzare per lo sviluppo di Blackberry, ma c'è un problema (e non solo).

In primo luogo, la maggior parte delle librerie Java ampiamente usano collezioni J2SE e tipi di dati che sono in genere mancano su piattaforme J2ME - ma questo è teoricamente risolvibili grazie alla open-source implementazioni J2SE api come Apache Harmony. Il problema più grande è che, a quanto pare, Blackberry JDK è basata su Java 1.4, in modo che qualsiasi codice che utilizza farmaci generici e le altre caratteristiche, come la 1.5 enumerazioni, non è facilmente compilabile su Blackberry.

Il che solleva una questione interessante se ci sono strumenti o progetti esistenti là fuori che farebbe conversione automatica 1.5-> 1.4, pur sostenendo bytecode j2me-imbastardito:)

Un progetto sono riuscito a trovare è Retroweaver , ma non sono del tutto sicuro di come attiva quel progetto è.

Sono sicuro che il problema della 1.5-> 1.4 conversione automatica non è univoco -? Così qualcuno ha alcuna esperienza con esso

È stato utile?

Soluzione 4

Così qui è quello che ho finito per fare finora:. Declawer + codice personalizzato per la generazione di classi di enumerazione

L'unica differenziazione cosa su Declawer è che, anche se è molto semplice e, francamente, un po 'di hack (che si basa su una capacità non documentata di JavaC), la sua uscita è codice Java effettivo rispetto ad una maggiore o convertito bytecode Java . Questo è molto prezioso per il mobile sviluppo Java-based come, francamente, la modifica bytecode / strumentazione non è affatto come sviluppato per le piattaforme J2ME come lo è per J2SE, e non ci sono solo garanzie che le cose stanno andando a lavorare fuori dalla scatola il modo fanno con J2SE in cui questi strumenti sono già stati utilizzati da un bel paio di sviluppatori.

funzionalità

di Declawer è limitato (nessun amore per 1,5 enumerazioni o autoboxing), quindi ho dovuto aggiungere uno script python per generare automaticamente le classi equivalenti in termini di funzionalità a 1,5 enumerazioni da semplici descrittori. Questa generazione avviene in fase di compilazione.

Questo risolve le mie preoccupazioni finora, con l'unica eccezione di trovare un contenitore CIO buon J2ME-friendly da utilizzare per la mia app (una volta si tenta di questi ragazzi, è così difficile rinunciarvi.)

Ma questa è una discussione per un thread diverso.

Altri suggerimenti

Hai provato Retrotranslator ? Ho letto che fa un lavoro migliore di Retroweaver.

Ecco qualcos'altro ho trovato qui in caso di overflow dello stack:

  

La compilazione con il javac regolare e l'obiettivo di una più vecchia JVM vi darà adeguata bytecode per i medicinali generici almeno

Quali assolutamente senso cercare.

Retroweaver

ho usato in passato (J2SE, non J2ME) - ha funzionato molto bene. Il costo di utilizzo è un paio di dipendenze runtime aggiuntivo.

Aggiorna 2013/1/28 : Dopo aver eseguito in problemi con Retroweaver, ho passato a RetroTranslator .

Ecco altri due strumenti che ho trovato (collegate da pagina Retrotranslator):

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top