Androidの1つのプロジェクトプロジェクトは別のプロジェクトプロジェクトとjarを参照します.

1487 ワード

Androidでは、1つのプロジェクトプロジェクトが別のプロジェクトプロジェクトを参照します.
例えば、すでにAndroidエンジニアリングAがあり、Aの機能を拡張したいのですが、Aに基づいて開発したくないので、もう一つのAndroidエンジニアリングBを新設し、BにAプロジェクトの方法を引用したいなどです.
1.工程Aを純Jarバッグにすることで、他の工程を直接引用することができます.
ただし、エンジニアリングAでR.javaのリファレンスを使用している場合はjarパッケージにはなりません.なぜならR.javaは自動的に生成され、動的であり、コンパイルのたびに異なるからです.必ずjarパッケージを作成しなければならない場合は、自動生成されたRファイルを使用することはできません.リソースを使用するときはコードを書いて取得します.
エラーが発生することがあります:Conversion to Dalvik format failed with error 1
多層パッケージファイルの重複インポート、競合の可能性があります...
そんなときに試してみる方法2
2.工程Aをandroid library projectにする.
プロジェクトAを設定し、右クリック->Properties->AndroidでIs libraryアイテムを選択し、Applyします.
プロジェクトBを設定し、右クリック->Properties->Android、LibraryでAddボタンをクリックしてAプロジェクトを追加し、Apply.
このときBにはAのリソースとコードが導入され,これらのリソースとコードは直接呼び出すことができる.
注意しなければならないのは、Aは完全なAndroidアプリケーションではなく、クラスライブラリエンジニアリングであるため、Bに構成する必要がある内容があることです.
または、以下のように直接使用します.
Bでプロジェクトproperties加入を覚えています
android.library.reference.1=../ResideMenu

ここのResideMenuはAプロジェクトのプロジェクト名です
------>Aプロジェクトのリソースファイルを参照する必要がなければ、同じようにjarファイルを取得し、プロジェクトAを設定し、右クリック->Properties->Androidで、Is library項目を選択してApplyします.Aプロジェクトのbinディレクトリの下で1つのjarファイルを得ることができて、copyはBプロジェクトのlibsディレクトリの下で直接引用することができます
jarが使えるならもちろん一番いいですが、jarファイルはresディレクトリの下のリソースをパッケージ化できないのでlibエンジニアリングが発生します.
(注意:Aプロジェクトの内容を変更した後、保存すればいいです.BプロジェクトはAを新しく実行する必要はありません.
また、is libraryオプションを除去しない限り、Run asではandroidエンジニアリングとして実行できないことに注意してください.
検討へようこそ、android学習群:191974931