3

私は複雑なアプリ構造を持っています。メイン プロジェクトには、独自の Android ライブラリと jar を持つ Android ライブラリがあります。

主なプロジェクト

  • ライブラリ
    • Android ライブラリ プロジェクト A
      • Android ライブラリ プロジェクト B

明確にするために、私は ActionBarSherlock 依存関係と Facebook 依存関係を持つ Android ライブラリ プロジェクトを持っています。私はいくつかの同様のアプリ間でこのライブラリ プロジェクトを使用します。

以前は、ライブラリを依存関係として追加するだけで、Android 関連のファイル (src/res) のみをビルドできましたが、現在はパスにすべて (テスト、ドキュメント、サンプル フォルダー、Web サイト) を含めています。

何が変わったのかわかりませんが、apk には不要なファイルが大量に詰め込まれており、それらを含めないように指定する場所がわかりません。

注:不要なファイルを単に「削除」できない理由は、サブモジュールを使用してリポジトリを複製しているためです。

IntelliJ Idea 11.1.2 と android r20 を使用しています

更新: これは私が抱えている問題のサンプル プロジェクトです: http://dl.dropbox.com/u/713581/TestDependency.zip

4

1 に答える 1

6

libsこれは、デフォルトでネイティブ ライブラリ (通常は.soファイル)用に設計された名前のディレクトリにモジュールを保持するために発生します。プロジェクトをビルドすると、libsディレクトリのすべてのファイルがターゲットapkファイルに含まれます。

この問題を解決するには、Project Structureに移動し、 Test Dependencyモジュールを選択し、 Androidファセット設定を開き、Native libs ディレクトリ設定を別のパス (のlibs_代わりになどlibs) に変更します。TestLibモジュールについても同じことを繰り返し、プロジェクトを再構築します。最終的なapkサイズは ~486KB になり、libsフォルダーのファイルは含まれません。

ネイティブ ライブラリ ディレクトリ

于 2012-07-20T01:28:20.760 に答える