コードの90%をお互いに共有する2つのAndroidアプリケーションがあります。政治的理由から(技術的理由もあると思われます)別々のパッケージ名を使用する必要があります(Google Playの異なるURLの下に表示されます)Androidで何とかRの別名を付けることはできますか?
gitを各アプリケーションに2つのブランチで使用し、各リリース前に2つのブランチを手動で同期します。 2つのブランチのdiffコマンドを実行すると、私のファイルの多くは異なっていますが、唯一の違いは、自動生成されるファイルRのパッケージ名です。したがって、最初のアプリケーションの場合、15ファイルあります。
や他のアプリ
import pkg.name.two.R;
のために私は何とか両方のクラスのために同じようにR
をインポートしたいです。
私はそうのようなRをラップしようとした:
パッケージthescene。
public class RWrapper {
public class R extends pkg.name.one.R {}
}
(RWrapper
ソースまたはR
に関して、これらの二つの枝の間だけ別のファイルを作ることになる)が、R
悲しいかな、最終的なクラスである(と私はとにかく、これが働いてきただろうにもわからないんだけど)
それで、どういうわけか、Rクラスをエイリアス化して、import pkg.name.one.R;/import pkg.name.two.R;
を統一インポートステートメントに置き換えることができるようにする方法がありますか?私も、私の同期の苦境を解決する他の提案:)
渡っRを共有容認いないよO' –
あなたの質問への答えは実際にはありませんが、各アプリケーションから参照するライブラリプロジェクトに重複コードを入れましたか、完全に分離された2つのアプリケーションが同じコードを90%持っていますか?そして、Rファイルはそのままで、両方のプロジェクトで同じものを使用しないでください。 – banzai86
共有コードをアンドロイドライブラリに移動します。次に、両方のアプリケーションに組み込みます。 – pawelzieba