ADT の最新バージョン (バージョン 20 プレビュー 3) では、ライブラリのマニフェスト ファイルを、それらを使用するプロジェクトとマージ可能にすることが可能であると彼らは言います。
ライブラリ プロジェクトのマニフェスト ファイルを、インクルード プロジェクトのマニフェストに自動的にマージします。manifestmerger.enabled プロパティで有効にします。
どこでどのように使用しますか? コンテンツアシストがこれを助けてくれることはどこにもありません。
ADT の最新バージョン (バージョン 20 プレビュー 3) では、ライブラリのマニフェスト ファイルを、それらを使用するプロジェクトとマージ可能にすることが可能であると彼らは言います。
ライブラリ プロジェクトのマニフェスト ファイルを、インクルード プロジェクトのマニフェストに自動的にマージします。manifestmerger.enabled プロパティで有効にします。
どこでどのように使用しますか? コンテンツアシストがこれを助けてくれることはどこにもありません。
project.properties
アプリケーション プロジェクトのファイルに次の行を追加します。
manifestmerger.enabled=true
Android で導入SDK Tools, Revision 20 (June 2012)
:
https://developer.android.com/studio/releases/sdk-tools
ビルド システム
* ライブラリ プロジェクトのマニフェスト ファイルをインクルード プロジェクトのマニフェストに自動的にマージする機能が追加されました。プロパティでこの機能を有効にしmanifestmerger.enabled
ます。
Android ライブラリ プロジェクト マニフェストと現在のプロジェクト マニフェストをマージする場合はmanifestmerger.enabled=true
、ライブラリ プロジェクトを参照した project.properties ファイルを追加する必要があります。ただし、ADT のバージョンなど、いくつかの点を確認する必要があります。また、Minimum とターゲット SDK は、ライブラリ プロジェクトと同じである必要があります。
参考までに: manifestmerger.enabled=true は、Eclipse エクスポート署名付きアプリを使用している場合、マニフェスト ファイルをマージしません。ここで述べたように、それはバグのようです。 http://code.google.com/p/android/issues/detail?id=34623
マージを正しく設定するのも少し面倒でした。(Eclipse を再起動し、プロジェクトを閉じて開きます..) マージが機能しているかどうかを確認するには、../Your_Main_Project/bin/AndroidManifest.xml 内のファイルを参照してください。マージがうまくいった場合、このファイルに完全な結果が表示されます。
編集:このバグは ADT v20.0.1 (2012 年 7 月) で修正されました: http://developer.android.com/tools/sdk/eclipse-adt.html
マニフェストのマージ中にエラーが発生した (R.java ファイルが見つからない) ため、ライブラリ プロジェクト マニフェストからマニフェスト コンテンツを明示的にコピーし (たとえば、アクティビティ コンテンツのみをコピーしました)、メイン プロジェクト マニフェストに配置しました。これでエラーは解決し、これまでのところすべてがうまく機能しているようです。これがマニフェストのマージの推奨される代替手段ではないと感じている人がいたら教えてください。