作成時にEclipseで「Islibrary」とマークしたため、Androidアプリケーションから作成されたjarファイルがあります。現在、DexClassLoaderは、classes.dexとマークされたエントリがないため、このファイルをロードできません。これは標準の瓶のように見えます。このようなjarを、DexClassLoaderがロードできるdxを使用してdexed jarに変換するにはどうすればよいですか?助けていただければ幸いです。
7768 次
2 に答える
5
コマンドラインから、sdkからdxツールを使用できます。何かのようなもの:
dx --dex --output=dexed.jar hello.jar
私のために働きます。そのようなものをビルドプロセスに統合することは、SDKによって提供されるantビルドスクリプトをハックすることを主に含む、ブラックアートのようなものです。ライブラリがたまにしか更新されない場合は、手動で更新できる可能性があります。
私の場合、dexed.jarをresources/rawフォルダーに保存します。実行時に、そこからファイルシステムにコピーし、ファイルシステムパスをDexClassLoaderに渡します。それは...少しでこぼこです。
于 2012-07-20T07:00:01.410 に答える
0
Androidライブラリは、デバイスで起動するためのものではありません。これらはAndroidプロジェクトの一部としてのみ含めることができ、参照されているすべてのAndroidライブラリの.jarファイルを単一の共有.dex
ファイルに変換してファイルにパッケージ化し.apk
ます。
Androidライブラリをテストする必要があり、マニフェストに実際にそのエントリポイントがいくつかある場合、そのための唯一の方法は、AndroidライブラリをAndroidプロジェクトに一時的に変更することです(設定のチェックバーをオフにします)。
于 2012-07-20T06:55:25.473 に答える