Guava の翻訳は現在 j2objc ディストリビューションの一部ではありませんが、そのライブラリ (マップを含む) の大きなサブセットを含める計画があります。現在、プロジェクトで行っていることは、Guava ソースをダウンロードしてから、使用したいクラスを翻訳することです。
このアプローチの問題の 1 つは、依存クラスのクロージャを決定することです。つまり、マップが依存する Guava クラスと、それらのクラスの依存関係などです。javac に次のことを決定させます。
$ javac -d /tmp/guava -sourcepath <guava-source-paths> com.google.common.collect.Maps
$ cd /tmp/guava
$ find com -name '*.class' > /tmp/all-classes.list # list all classes
$ fgrep -v '$' < /tmp/all-classes.list > /tmp/classes.list # get rid of inner classes
$ sed -s '/class$/java/' < /tmp/classes.list > /tmp/source-files
ソース ファイル リストを決定するツールは、次のリリースで計画されています。