私はjarファイルでクライアントにエクスポートしようとしているライブラリを作成する必要があります。リソースを含むjarを作成する方法はありますか?
Google adMobには、R $ layout.classなどのリソースファイルを含むjarがあります。 このページ それを行う方法を説明していますが、上記の方法を使用してライブラリプロジェクトをアプリケーションにインポートする方法を正確に理解することはできません。
これは最も近いものです:
ステップ#1:通常のAndroidライブラリプロジェクトを作成し、動作させます。
ステップ#2:Androidライブラリプロジェクトを別のディレクトリにコピーします。
ステップ#3:元のJavaライブラリプロジェクトからコンパイルされたAndroidクラスからJARを作成し、そのJARをステップで作成したコピーのlibs/
ディレクトリに配置します#2。このJARでProGuardを手動で実行できるはずですが、私は試していません。
ステップ#4:コピーされたライブラリプロジェクトのsrc/
ディレクトリ内のすべてを削除し、src/
ディレクトリを残します。
ステップ#5:コピーしたAndroidライブラリプロジェクトを圧縮または配布します。
これにより、Play ServicesプロジェクトのようなAndroidライブラリプロジェクトが提供されます。このプロジェクトでは、リソースは利用できますが、ソースコードは利用できません。
UPDATE:最近のより良いアプローチは、ライブラリプロジェクトをAARとしてパッケージ化することです。これは、コンパイルされたコードと必要なリソースから再利用可能なアーティファクトを作成するAndroidのネイティブな方法です。現在(2014年7月)、Gradle for Android、Android Studio、およびAndroid-maven-plugin
は、AARを作成および使用できます。
これは動作します!
これはすべてのリソースで正常に機能します。みんなありがとう。あなたの応答のために
次の手順に従って、ライブラリの配布可能なjarを取得します(外部依存関係のないライブラリプロジェクトで検証済み)。
Ctr+Shift+O
(Windwows/Linuxの場合)またはCmd+Shift+O
(Macの場合)を押して、追加されたライブラリからインポートの依存関係を解決します。問題に直面した場合のコメント。
ADT 22.2.1でテスト済み
リソースファイルをjarにパッケージ化することはできません。プロジェクトをライブラリプロジェクトとしてエクスポートできます。
Android内のリソースを参照しないユーティリティクラス、つまり純粋なJavaクラスをjarファイルとしてエクスポートします。
以下のリンクを確認してください
http://developer.Android.com/tools/projects/index.html
プロジェクトをライブラリプロジェクトにするには
プロジェクトを右クリックします。プロパティに移動します。 Androidを選択します。 [ライブラリ]がオンになっていることを確認します。
Androidプロジェクトでライブラリプロジェクトを参照するには
プロジェクトを右クリックします。プロパティに移動します。 Androidを選択します。追加をクリックします。ライブラリプロジェクトを参照します。
ドキュメントからの引用
ライブラリプロジェクトは、標準のAndroidアプリケーションプロジェクトとは異なり、独自の.apkに直接コンパイルしてAndroidデバイスで実行することはできません。同様に、真のライブラリの場合のように、ライブラリプロジェクトを自己完結型のJARファイルにエクスポートすることはできません。代わりに、依存アプリケーションでライブラリを参照し、そのアプリケーションをビルドして、ライブラリを間接的にコンパイルする必要があります。
最新のAndroid Studio v1.2によれば、ケーキを作るのと同じくらい簡単です。 このリンク のスクリーンショットで既に完全なソリューションに回答済み
これは、antで簡単に行う方法です。これはVolleyのソースコードにあります。以下のコードをcustom_rules.xmlに追加し、ant jar
でビルドします
<?xml version="1.0" encoding="UTF-8"?>
<project name="volley-rules" default="help">
<!-- A rule to generate the JAR for inclusion in an Android
application. Output file will be bin/volley.jar -->
<target name="jar" depends="-compile">
<jar destfile="bin/volley.jar"
basedir="bin/classes" />
</target>
</project>
Eclipse ADT v22.6.2では、[ファイル]、[エクスポート]、[Java]、[Jarファイル]の順にクリックして、jarをエクスポートし、ディレクトリと保存先を選択します。