2009-06-05 71 views
3

我正在考慮將JiBX用於需要在Blackberry和RIM上運行的項目。雖然看起來像J2ME使用JiBX已被社區考慮(根據JiBX jira門票),Android是相對較新的。Android上的JiBX(或任何其他構建時字節碼操縱庫)

因此,問題是:有沒有人在Android上使用JiBX或任何其他需要在構建時修改類字節碼的庫的成功(或問題)?

關於如何在Android上運行這樣的庫(與使用運行時字節碼工具的庫相比),我一直在討論這個問題,但是我沒有看到有關實際嘗試這樣做的人的太多報告。

回答

0

好的,所以我決定只是在XMLPull API上編寫XML解析代碼,而沒有任何花哨的技巧。

如果我的模式比現在複雜得多(我有時間),我很想嘗試編寫一個基於ANTLR的XML解析器生成器來爲單個模式生成實際的解析器Java代碼。

目前,afaik,用於移動的Java代比用於移動的字節碼生成更安全和更好。

1

它不會工作,因爲android不執行字節碼。 Android的Java運行時使用基於寄存器的虛擬機(Dvalik),該虛擬機執行.dex文件而不是類文件。從理論上講,你可以生成那些代替java字節碼的代碼。

+4

雖然Dalvik確實運行特殊的字節碼格式.dex,但是有一個谷歌提供的工具稱爲dx,它將標準java字節碼轉換爲.dex格式(請看here)。 因此,理論上講,任何執行後編譯構建時字節碼操作,生成標準compiant java字節碼的lib仍然適用於android - dx工具只是將生成的字節碼轉換爲.dex。 – 2009-06-09 19:40:59

1

是的,我已經使用JiBX在android應用程序中構建原型。一旦你添加了jibx jar作爲你的android項目庫,他們將被自動打包爲dex。實際上,JiBX綁定可以很好地與Android結合使用。我只需要包括3個罐子。 Jibx-run.jar,jibx-ws-0.9-bata.jar和我的基因處理綁定jar。然後android應用程序可以進行soap客戶端調用,xml到object的綁定由jibx內部處理。

相關問題