2015/06/25

productFlavors で src ディレクトリ以下を切り替える

ProductFlavors を使って Free version と Pro version を作り分ける際、ソースコードやリソースを切り替えることが出来ます。

productFlavor ディレクトリを作成する

src ディレクトリ以下には元から main というディレクトリがありますが、ここに productFlavor と同じ名前のディレクトリを作成し、 共通で使うものは main に、使い分けるものはそれぞれのディレクトリにおきます。

AndroidManifest.xml はマージされる

Activity 等 AndroidManifest.xml に記述が必要なものを切り分ける場合は、AndroidManifest.xml も各 productFlavor ディレクトリに置く必要があります。
ただ、AndroidManifest.xml はmain とマージされるので各productFlavor に特有のものだけ記述すればよいです。

例えば、Free version のみで広告を使用する場合、以下のように AdActivity だけを定義した AndroidManifest.xml を free 以下に置きます。

free/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application>
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />
    </application>

</manifest>

0 件のコメント: