コードの 90% を相互に共有する 2 つの Android アプリケーションがあり、政治的な理由 (技術的な理由もあると思います) により、別々のパッケージ名を付ける必要があります (Google Play の異なる URL に表示されるようにするため)。
アプリごとに 2 つのブランチで git を使用し、各リリースの前に 2 つのブランチを手動で同期します。2 つのブランチの diff コマンドを実行すると、多くのファイルが異なりますが、実際には、自動生成されたファイル R のパッケージ名だけが異なるため、最初のアプリケーションでは 15 個のファイルがあります
import pkg.name.one.R;
他のアプリの場合
import pkg.name.two.R;
R
両方のクラスを同じ方法でインポートしたいと考えています。
Rを次のようにラップしてみました:
シーンをパッケージ化します。
public class RWrapper {
public class R extends pkg.name.one.R {}
}
(これによりRWrapper
、ソースまたはに関してこれら2つのブランチ間で唯一の異なるファイルが作成されますR
)しかし、残念R
ながら最終クラスです(とにかくこれが機能したかどうかさえわかりません)
import pkg.name.one.R; / import pkg.name.two.R;
それで、統一されたインポートステートメントに置き換えることができるように、Rクラスに何らかのエイリアスを付ける方法はありますか?
また、同期の問題を解決する他の提案も受け付けています:)