web-dev-qa-db-ja.com

Eclipse ANTプロジェクトのAAR

eclipse Antプロジェクトで.aarライブラリ(およびリソース)を使用する方法はありますか? Gradleのように.aar形式を使用する単純な方法はないことはわかっていますが、解凍して手動でインポートするための回避策はあるのでしょうか。

18
czajna666

この解決策は私にとって役に立ちました

EDIT:.aarファイルは、次の内容の単なるZipファイルです。

  1. AndroidManifest.xml(必須ファイル)
  2. classes.jar(必須ファイル)
  3. Res /(必須フォルダ)
  4. R.txt(必須ファイル)
  5. アセット/(オプションのフォルダー)
  6. libs/*。jar(フォルダーオプション)
  7. jni // *。so(オプションのフォルダー)
  8. proguard.txt(オプションファイル)
  9. lint.jar(オプションファイル)

ご覧のとおり、.aarファイルには、Eclipseでライブラリを操作するために必要なものがすべて含まれています。

ライブラリを作成するには:

  1. ワークスペースに新しいプロジェクト(以下、ライブラリプロジェクト)を作成します。ライブラリとしてマークすることを忘れないでください。
  2. 空のsrcフォルダーライブラリプロジェクトを残します。
  3. .aarファイルを解凍します。 .Zipに名前を変更して解凍するか、任意のツールを使用できます。
  4. Classes.jarファイルをlibsファイルフォルダーライブラリプロジェクトにコピーします。
  5. Resフォルダーは、ライブラリプロジェクトを.aar resファイルフォルダーに置き換えます。
  6. 必要なほぼすべてを含むプロジェクトを作成しました。

次に、ライブラリプロジェクトを参照するようにプロジェクトを構成する方法を見てみましょう。

  1. 依存関係ライブラリプロジェクトとして追加されたライブラリ(以降、プロジェクトの目標)を使用するプロジェクト。
  2. ファイル内でAndroidManifest.xml .aarを開き、必要なすべてのもの(許可、アクティビティー、サービス、レシーバー...)をファイルAndroidManifest.xmlプロジェクトの目的にコピーしてください。
  3. 存在する場合は、assetsフォルダのターゲットプロジェクトに、assets.aarファイルのコンテンツ全体をコピーします。
  4. 存在する場合は、ファイル.aar libsフォルダーのコンテンツ全体をフォルダーlibs target projectにコピーします。

  5. ワークスペースをクリーンにして再コンパイルします。

http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-Eclipse/#.Vh3krye1Gko

16
ahmed ghanayem

実際、aarファイルは単なるアーカイブファイルです。したがって、それを解凍して、ressourcesファイルとともにjarファイルを見つけることができます。質問はすでにここで部分的に回答されています:

https://stackoverflow.com/a/21485222/183687

Jar内にリソースを取得したい場合は、この回答で提案されているように再パッケージ化してみることができます。

https://stackoverflow.com/a/21417599/183687

14
PedroCactus

仕事の矢面に立つことは deaar と呼ばれる素晴らしいスクリプトによって行うことができます。 Gistが説明しますが、基本的には次のように実行します。

Ruby deaar.rb [path/to/aar] [output_directory] 

ほぼ使用可能なライブラリを出力します。次に、実行する必要があります:

cd [output_directory]
Android update lib-project -p . -t Android-xx 

XxをAndroid対象のバージョンに置き換えます。次に、build.xmlとproject.propertiesがある場所にそのディレクトリを配置します。最後に、project.propertiesに次のような行を追加します。

Android.library.reference.1=./output_directory 

作成したディレクトリ名でディレクトリ名を置き換えます。追加のライブラリには「.2」などを使用できます。以上です!

2
goobliata

Twitter Fabric(Crashlytics)には、依存関係管理用のキットライブラリプラグイン http://docs.fabric.io/Android/fabric/Eclipse.html があります。

そして、もう1つのGradleプラグインプロジェクト https://github.com/ksoichiro/gradle-Eclipse-aar-plugin があります。

0
javamonk