2011-01-19 21 views
12

私たちはいくつかのアプリを持っていますが、レイアウトやコードは非常に似ています。唯一の違いは、グラフィカル要素を切り換えて、単一の定数ファイルと文字列ファイルに変更を加えることです。もちろん、これにはいくつかの問題があります - 最初の名前空間です。同じ名前空間を持つアプリを持つと他のアプリは上書きされます。Androidアプリの一括公開

これには何がおすすめですか? 現在、私たちな名前空間は、次のとおりです。私は考え出し com.company.appname は私が行うことができます:私はこれで助けAntスクリプトについての記事を見てきました

com.company.appname.appversionが、私は場合は思ったんだけどより多くの流体ソリューションを今すぐ提供します。

+0

? –

+0

ライブラリを使用したくない場合は、ここにソリューションを掲載しました:http://stackoverflow.com/questions/3711967/best-way-to-have-paid-and-free-version-of-an -android-app/13111546#13111546 –

答えて

18

私はこれを支援するAndroid Library Projectsに探してお勧めします。

私は自分のアプリケーションの1のLiteの対無料edtionsために、このアプローチを使用しています。私は、すべてのソースとアプリケーションのリソースのほとんどを含むライブラリプロジェクトを持っていますし、1つをライブラリプロジェクトとして使用する2つのプロジェクト(Lite用とフル版用)。

2つの依存プロジェクト各

は、名前空間が異なることができると私はエディションによってなどの異なる文字列、ドロウアブルにスワップするために、自分自身のリソースとマニフェストを持っています。

私はAntのアプローチを試みたが、ライブラリプロジェクトのアプローチよりも面倒をはるかにように見えました。希望が役立ちます。私はその目的が何であるか分からないが、これは複数のテーマを1つのアプリを持っていることによって合理化することができそうですようにアプリのデザインを疑うない

+0

だから、どうやってこれを行うのか分かりません。私はライブラリとしてメインアプリケーションを持っていますが、今は定数ファイルを上書きしようとすると、エラーがスローされます。私はこれがJavaの仕組みと同様に期待されるはずだと思いますが、どうやってこれをやるべきかはわかりません。存在しないメインプロジェクトで定数ファイルをインポートする必要がありますか? – bryon

+1

あなたはJavaクラスで定義されている定数を持っていて、アプリケーションの各エディションの値が異なるそれぞれのプロジェクトで同じクラスを持つことを望んでいますか?名前空間の衝突はそれを許さないでしょう。私は、メイン/ライブラリプロジェクトに存在することができるように、値をリソースに移動することを検討する必要があると思います。しかし、従属プロジェクトの同じ名前のリソースによって上書きされる可能性があります。上記のAndroidドキュメントのリンクで、リソースがlibプロジェクトでどのようにマージされているかを説明している部分を見てください。 – mmeyer

+0

私はこのアプローチに行きました、そして、私は今、[2つのアプリケーションが同じコンテンツプロバイダを提供することができないことを知っています](http://stackoverflow.com/questions/3306639/multiple -apps-use-same-content-provider) – rds

関連する問題