新人成長記録9th
- 2016年10月04日
- Android
同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
admin at 2016年10月04日 04:14:42

 大人が楽しめるヒーリング絵本河童のカパと静かな森
大人が楽しめるヒーリング絵本河童のカパと静かな森 パワースポット 日本三大神滝布引の滝
パワースポット 日本三大神滝布引の滝 佐藤・広幸ドイツ魂
佐藤・広幸ドイツ魂 Himeji Castle姫路城
Himeji Castle姫路城 ボイドタイムお知らせアプリVoid Time 〜月を無視できない〜
ボイドタイムお知らせアプリVoid Time 〜月を無視できない〜 撮った写真をカレンダーに撮りカレ
撮った写真をカレンダーに撮りカレ ライブ壁紙竹田城ライブ壁紙
ライブ壁紙竹田城ライブ壁紙 赤ちゃんにっこりBaby+Smile
赤ちゃんにっこりBaby+Smile 電子書籍[for iPhone]ターラのアストロロジー
電子書籍[for iPhone]ターラのアストロロジー JSpreadsheet カラム設定Tips
									JSpreadsheet カラム設定Tips