2012年7月14日土曜日

Androidアプリ、有料版と無料版のソース共有化

有料版のアプリと無料版のアプリを作成するとして、ソースは有料版の方にだけ置いて、なるべく一元化するようにしたい。

ということでEclipse 3.7.2の環境で何とかできないか試している。

この辺の記事
猫と一緒に一休み eclipse で Android の有料版、無料版のパッケージを同じソースで管理
Androidの無料アプリ・有料アプリを切り替えてビルドする方法 - eaglesakuraのメモ帳
を参考にしつつ試しているのだけど。


  1. 有料版(仮にTest)が既にあって、無料版のプロジェクトをTestFreeとして作成する。
  2. 必要なライブラリがあればlibsに追加し、プロジェクトプロパティにも追加。
  3. TestFreeのresフォルダを削除し、Testのresを参照するようにする。
  4. TestFreeのsrcフォルダにTestのsrcフォルダの参照を追加する。
  5. TestFreeのプロジェクトプロパティにTestのビルドを追加する。
  6. TestからTestFreeにAndroidManifest.xmlをコピーしてパッケージ名などを修正する。


手順としてはおおよそこんなところだと思うんだけど、TestFreeのアクティビティを作成せずにTestのアクティビティをそのままAndroidManifest.xmlに指定すると、「Rを変数に解決できません」のエラーが出てビルドが通らない。

それならということで、Testのアクティビティを継承したTestFreeActivityを作成し、AndroidManifest.xmlに指定すると、プロジェクトのエラーが無くなってビルドが通るところまでは行く。しかし実行するとアクティビティの初期化に失敗して例外になってしまう。

うーん、もうちょっと調べてみないと良くわからないな・・・。

0 件のコメント:

コメントを投稿