Eclipseを使用して、Androidアプリでgeotools(現在8.0-M3、2.7.3でもあります)ライブラリを使用したいと思います。(win7 prof、4gb ram)しかし、ビルドプロセスがクラッシュし、次のエラーが発生します
未処理のイベントループ例外Javaヒープスペース
Javaヒープスペースの問題は解決できるはずですが、それ以上の問題があるようです。(3GBで十分ですね)
私の最終的な目標は、OGCの「Web機能サービス」と「Webマップサービス」によって、geoserverでpostgrespostgisdbをリクエストできるようにすることです。
私はすでに日食のiniをに設定しました
--launcher.XXMaxPermSize 128m --launcher.defaultAction openFile -vmargs -Xms40m -Xmx3700m
Geotoolsは(jre6(1.6.0_24)と比較して)androidlibsが提供する以上のものを必要とします。
->そこで、jar全体をjre6フォルダーとjts-1.8.jarに加えてgeotools jarを別の(win)フォルダーにコピーします。(Maven(この場合は使用されていません!)自体がjts-1.1.3 libをロードしますが、違いはありますか?)jarフォルダー全体のサイズは約80Mbです。
->eclipseandroidプロジェクト構造に新しいフォルダーを作成します。
->jarファイルをwinフォルダーからEclipseにインポートします
-> jarをプロジェクトビルドパスに追加します(これはjavaをdxに移植する必要があります)(長い時間(日)の試行の後、私が知っている唯一の方法は、必要なすべてのクラスをアプリに提供することです。少なくともeclipseはそうではありません不足しているものにマークを付けます)。
コンパイル後、Eclipseコンソールの出力は次のようになります。
Dx警告:匿名内部クラスのInnerClasses属性を無視しています....。
いくつかのクラスのために。おそらくjrelibが原因です。
私のAndroidプロジェクトで必要なJavaライブラリをgeotoolsに提供する他のオプションはありますか?それとも、私が以下に述べた試験について何か考えがありますか?
PS:Androidの本では、不足しているクラス(およびそれらの依存関係)だけをjarファイルからコピーすることをお勧めします.....(おそらく新しいクラスを作成する方がよいでしょう)
私はすでにMavenプラグインを使用してみました。これは、geotoolsを使用する純粋なJavaプロジェクトで、またはgeotoolsを使用しない限りAndroidプロジェクトを処理するのでうまく機能します。mavenにgeotoolsを使用したandroidプロジェクトが含まれている場合、ライブラリはmavenによって読み込まれますが、androidは「Rクラスを手動で変更」のように言います...(元に戻せない、または再作成できない)
eclipseプロジェクトからMaven依存ライブラリ(必要なもので構成されている必要があります)をコピーする方法はありますか?(私は、winリポジトリフォルダーからjarをコピーできると思いましたが、他の多くのjarも含まれています)。
Androidは、C++またはその他のライブラリを使用できる「JavaNativeInterface」を提供します。libsの欠落/交差の問題を囲むオプションはありますか(私はまだJNIの経験がありません)?
アプリのコードはかなり短いですが、貼り付けるのに役立つ場合は。