新人成長記録9th

同Projectから少し変更を加えたアプリを作成したいと思ったことはありませんか?
例えば有償版と無償版のアプリ、デバッグ時とリリース時で異なるサーバへの接続などです
Andrdoid StudioのBuild Variants機能を使用することで、新たにProjectを作成することなく2つのapkを作成することが可能です

Build Variants

1つのProjectから異なるバージョンのアプリを作成することができます、みたいなことがこちらに書かれていますので、詳しくはリンク先を参照
Build VariantsはBuild TypesとProduct Flavorsを組み合わせたものを指します

Build Types

ビルドタイプ毎の設定をすることができます
デフォルトではreleaseのみ記述されているかと思います

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

それを、下記のようにすることでデバッグ時にはパッケージ名にxxx.debugと付与することができます

    buildTypes {
        debug{
            applicationIdSuffix=".debug"
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

Product Flavors

有償と無償などアプリのリソース切り替えなどに使えます
デフォルトではなにも書かれていないので必要に応じて書く必要があります

    productFlavors {
        flavor1{
            applicationId ="com.flavor1"
        }
        flavor2{
            applicationId ="com.flavor2"
        }
    }

また、Project内のsrc以下にも必要に応じてリソースファイルを生成していきます
共通部分はsrc/mainが使われます
例えば、flavor2の時にアプリ名を変更したい場合にはsrc/flavor2/res/values/strings.xmlに記述しなければいけません

有償と無償の時には、src/flavor1/java/pakage名/xxx.javaとsrc/flavor2/java/pakage名/xxx.javaのように動作が異なるプログラムをわけて書くことでできます
この時にmainに同様のjavaファイルがあると同じ名前のファイルがあることでエラーとなります。ですので、mainにあるファイルは削除しましょう
些細な変更の場合には、BuildConfig.FLAVORで比較して場合分けをするほうがいいと思います

終わりに

BuildVariantsにはこの他にも、色々できるようなのですが、それはまた機会があれば
Android Studioでは、他にも多くのことができますので今後も駆使して開発を楽にしていきたいです

火曜日担当:poppy



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム