2010-12-07 8 views
7

私はちょうど私の最初のアプリをリリースしているし、同様に無料のバージョンを持っていると思います。私は完全なバージョンからの変更をマージするのが簡単なように私はどのように私の無料版ブランチ(svnの)を管理する必要がありますか?マニフェストファイル内のパッケージ名を変更するだけですか?またはパッケージ名はコードが異なる必要がありますか?もしそうなら、私はどのように変更を簡単にマージできますか?無料版の管理方法は?

おかげで、ジェイソン

答えて

1

あなたは本当に無料版を作成するための別のブランチを維持したいですか?
私は同じコードベースを使用して、#ifdefまたは設定パラメータのいずれかで、無料版の一部の機能を無効にします。

+0

しかし、私は同じパッケージ名apkを市場に2回投稿できません。 – Jason

+0

@Jason、私はアンドロイドの開発を知らないけど、パッケージ名が定義されているファイルの別のコピーを保持することはできませんか? –

+0

それがマニフェストの場合だけですが、私がコードパッケージを変更する必要がある場合、それは問題になるかもしれません。私は偽のパッケージを作成し、マニフェストファイルをその偽のパッケージに変更して、知っているのですか – Jason

2

私はすべてのアプリケーションでこれを使用します。

public static final boolean LITE_VERSION = true; 

その後、いくつかの機能を無効にするためにそれを使用します。

LITE_VERSIONがtrueに設定されている場合、Javaコンパイラはif(!LITE_VERSION)ブロック内のコードを無視するので、リバースエンジニアリングすることはできません(javap -c "コマンド)。

+1

すごく感謝しますが、それでもパッケージ名の問題が残っていますが、それについてはどうしますか? – Jason

+0

まあそれはまた、ライセンスの問題を残します。無料版はライセンス供与できません。図書館は行く道です – GSree

0

ビルドにはAntを使用します。私は以前にhow I build two versions of the same appを文書化しました。私が異なるマニフェストに対処する方法を議論する最後のセクションはおそらくあなたにとって最も興味深いものです。

+0

私は家に明日帰るとき面白そうに見えるでしょう、この方法はクレチン機能を無効にすることができますか? – Jason

+0

クレチンの機能は? :)私は各バージョンごとに異なるマニフェストファイルを使用します。また、3つのソースツリー(メイン、デモ、共通)を設定し、Antを使用して3つのツリーの2つ(メイン+コモンまたはデモ+コモン)をビルドする前に1つのツリーにマージします。 –

0

私は同じコードベースとパッケージ名を使用して、余分なApp(apk)またはシリアル番号だけのプレミアムキーを提供しようとしています。このアプローチは、アップグレードしたいユーザーが古いデータと設定を使用できるという肯定的な副作用があります。キーは単に機能を動的に有効にする前に言及のようなフラグを有効にします

関連する問題