新人成長記録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