16

Androidライブラリを作成していassetsますが、画像を含むフォルダーがあります。別のプロジェクトで使用すると、アセットがコピーされません。

他の誰かがこの問題を抱えていましたか?

4

5 に答える 5

35

Gradleに基づく新しいAndroidビルドシステムは、ライブラリプロジェクトのアセットフォルダーをサポートします!

ANTベースのビルドでは、それはまだ不可能です。

ライブラリプロジェクトに未加工のアセットを含めることはできません。(ドキュメントを参照)

しかし、あなたはできます

于 2011-06-29T22:17:55.823 に答える
11

小さな修正により、アセットを結果のライブラリjarに配置することができます。
custom_rules.xml」をライブラリプロジェクトホーム(build.xmlの近く)に配置します。

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
    <target name="-post-compile" if="${project.is.library}">
    <echo>Post Compile: add assests from ${asset.absolute.dir} to ${out.library.jar.file}</echo>
    <jar destfile="${out.library.jar.file}" update="true">
        <zipfileset dir="${asset.absolute.dir}" prefix="assets" excludes="**/*.java ${android.package.excludes}"/>
    </jar>
</target>

これにより、ライブラリアセットが結果のライブラリjarにパックされます。その結果、これらのアセットは、アプリケーションの結果の.apkに含まれます。

OSXのAndroidSDKToolsリビジョン21.1.0で確認済み

于 2013-04-04T05:57:05.267 に答える
2

EclipseとANTから、複数のプロジェクトから同じ「アセット」フォルダーを参照できます。これにより、ソースツリーにアセットファイルの単一のコピーを含めることができますが、それらは複数のAPKに含まれます。

Android:Eclipseでのデバッグ用のターゲット解像度フォルダーを参照してください

ProjectAから、ProjectBから.. \ ProjectA\Assetsを参照できました。Eclipseでは(少なくともWindowsでは、Linuxではまだ試していません)、.. \ ProjectAを参照する新しい変数を作成し、その変数を「リンクフォルダーの場所」で使用する必要がありました。「リンクされたフォルダの場所」で「..」を使用しようとすると、eclipseはそれを受け入れませんでした。

于 2013-02-26T00:12:38.797 に答える
1

IntelliJ IDEAを使用している場合は、アプリケーションモジュールのパッケージ設定を変更して、依存するアセットを含めることができます。これは、IntelliJCommunityエディションのバージョン14.0.2で行われたことに注意してください。私のメインアプリケーションモジュールは、あたかもメインプロジェクトにあるかのように、ライブラリプロジェクトのアセットフォルダからファイルを継承するようになりました。

アプリケーションモジュールを右クリック>[モジュール設定を開く]。モジュール>パッケージタブでAndroidツリーノードを選択します。「依存関係からAPKにアセットを含める」にチェックを入れます

注:Android Studioを使用したことはありませんが、そのアプリケーションにも同様の設定があると思います。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2015-03-27T16:41:36.970 に答える
0

android libプロジェクトを作成することから始め、作成後に閉じます。これは自動ビルドを無効にします

Windowsでcmdターミナルを使用するandroidコマンドはバッチファイルです

パスC:\ Users \ user_bss> PATH =%PATH%; C:\ adt-bundle-windows-x86-20140321 \ sdk\toolsにツールを追加します

antandroid更新プロジェクトのbuild.xmlを生成します-pC:\ Users \ user_bss \ Documents \ Workspace \ SDKAdvanced -n SDKAdvanced

notepadcustom_rules.xml上記のコードを追加する終了タグを忘れないでください

「antdebug」または「antrelease」を実行してビルドします

bindirにclasses.jarが表示されます。これはパックされたライブラリです。

于 2015-04-07T20:58:19.723 に答える