有料版と無料版の2つのapkを作成する場合、2つのプロジェクトを作成しないとですが
以下の方法で一つのソースで異なる2つのapkを作成できます。
・testCore・・・実際のプログラムを記述しているプロジェクト(ライブラリ)
・textPay ・・・有料版のapk(testCoreライブラリを参照)
・textFree・・・無料版のapk(testCoreライブラリを参照)
※testCoreのActivityを指定する場合、パッケージ名を含めて指定するのがポイント。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hoge.pay"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- coreのActivityを指定 Start -->
<activity
android:label="@string/app_name"
android:name="com.hoge.core.TestCoreActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- coreのActivityを指定 End -->
</application>
</manifest>
「testCore」を右クリックし「プロバティー」-「Android」の「Is Library」にチェックを入れる

「testFree」を右クリックし「プロバティー」-「Android」の「追加」ボタンを押して「testCore」を選択
「testPay」も同様に。
testFreeとtestPayをビルドすると2つのアプリが作成されます。
なお、この発想自体、以下のサイトを参考にしました。プログラムで無料、有料の判別方法なども記載されています。
無料アプリと有料アプリのプロジェクトを管理する

コメント