Androidプロジェクトを整理するための最良の方法(またはベストプラクティス)を理解するために少し助けが必要です。簡単にするために、Android用のEclipseワークスペースがであるとしましょうC:\Android\Projects\
。そのフォルダー内で、アプリケーションをライブラリから分離するのが好きで、他に2つのフォルダーがC:\Android\Projects\Applications
ありC:\Android\Projects\Components
ます。
1つのプロジェクトについて、GitHubからComponents
フォルダーにライブラリのクローンを作成しました。たとえば、 C:\Android\Projects\Componentes\SampleLib
(そのフォルダー内に2つのフォルダーTheLib
とTheLibExample
)があります。そして、私のアプリはに作成されC:\Android\Projects\Applications\MyTestApp
ます。次に、次の手順に従ってライブラリをアプリに含めました。
ここで、GitHubを使用してアプリをオープンソースコミュニティと共有したいとします。リポジトリを作成し、すべてをリポジトリにプッシュしC:\Android\Projects\Applications\MyTestApp
ます。
誰かが私のアプリをフォークしたり、私を助けたりしたい場合は、それをコンパイルして実行するためのライブラリが必要になりますが、これは私のプロジェクト自体には含まれていません。ファイルには次のdefault.properties
ようなものがandroid.library.reference.1=../Components/SampleLib/TheLib
あり、誰かがそのライブラリも手動で複製する必要があり、同じ相対パスに配置する必要があります。そうしないと、アプリのソース管理が台無しになります。
この問題を解決するために考えることができる唯一の方法は、ワークスペースを次のように整理することです。
C:\Android\Projects\Applications\MyTestApp\TheApp
C:\Android\Projects\Applications\MyTestApp\TheLib
C:\Android\Projects\Componentes\SampleLib
そして、私のリポジトリはからのコンテンツで満たされているはずですC:\Android\Projects\Applications\MyTestApp\
。
しかし、ライブラリが更新されるとどうなりますか?新しい変更を単純にプルすることはできません。それらをTheLib
フォルダーにコピーする必要があります。以前のフォルダ編成では、コピーではなく元の複製リポジトリを参照していたため、これは必要ありませんでした。
それならどうすればいいですか?オプション1を使用して、プロジェクトをフォークする人にライブラリの依存関係を適切と思われる方法で処理させるか、2番目のフォルダーを使用して、元のフォルダーから変更をプルするときに2つのフォルダーを同期させて、全員に作業を追加する必要があります。リポジトリ?