2015年9月20日日曜日

Androidアプリ開発の準備をテンプレート化した - その5 開発ビルドと本番ビルドの設定 環境ごとにパッケージを切り替える -

  • 公開日:2015年09月20日

記事概要


androidのアプリ開発をする前の準備の手順をまとめました。その4の続きです。

環境


  • Android Studio1.3.0
  • OS X Yosemite

はじめに


続いてアプリのパッケージ設定を行います。
作成するアプリによって、【開発】【ステージング】【本番】等の複数の環境を用意する必要があると思います。
その場合、パッケージが同一だと実機にインストールするだけでも一苦労です。
なので、gradleでパッケージをわけておく設定をします。
そうすることで、同一機種に色々な環境のアプリをインストールできてテスト効率をあげることができます。

buildTypes


buildTypesはビルドの種類を設定できます。デフォルトでは、debugとreleaseが自動的に設定されています。
一般的にはdebugは証明書なしでapkを作り、releaseは署名ありでapkを作成します。


    buildTypes {
        debug {
           
        }
        release {
           
        }
    }

パッケージ名を分ける

上記にも記載したように、開発(debug)と本番(release)を同じパッケージにするのはやめましょう。そうしないと、開発と本番の切換えで、デバッグ時に大変な思いをすることになります。


    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
        release {
        }
    }

applicationIdSuffix属性を設定することで、パッケージ名に接尾辞を付けることができます。
上記は、デバッグ時のapkのパッケージ名に接尾辞を付けて、デバッグ用apkをインストール時に本番リリース用のパッケージに上書きしないようにしています。

バージョン名を設定する

開発(debug)にはバージョン名も設定しておきましょう。アップデート前とアップデート後ではテストが必要になります。この設定により、以前と以後のapkを同一端末に入れることができるので、テストの実行が楽になります。日付用の関数を用意して利用するのも良い考えだと思います。


    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "1"
        }
        release {
        }
    }

デバッグの有無を設定する


    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "1"
            debuggable true
        }
        release {
            debuggable false
        }
    }

開発(debug)はdebuggable true。つまり、デバッグを許可します。本番(release)は、debuggable false。つまり、デバッグはしません。

zipAlignEnabledを設定する

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "1"
            debuggable true
            zipAlignEnabled true
        }
        release {
            debuggable false
            zipAlignEnabled true
        }
    }

zipAlignEnabled true。つまり、zip化します。この設定をtrueにしないと証明書付きのapkが作成されないので注意してください。

minifyEnabledを設定する

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "1"
            debuggable true
            zipAlignEnabled false
            minifyEnabled false
        }
        release {
            debuggable false
            zipAlignEnabled true
            minifyEnabled false
        }
    }

minifyEnabled false。つまり、minifyしません。これはどちらでも構わないと思います(違いがよくわかりません)

apkファイルを出力


コマンドプロンプトを開いてコマンドを叩きます。


// プロジェクトフォルダに移動
cd {プロジェクトフォルダ}

// gradleを実行
./gradlew clean build

apkファイルが出力されたことを確認します。出力場所は、{プロジェクトフォルダ}/app/build/outputs/apkです。
上記で作成したアプリをインストールしてみましょう。
アプリは、私が開発している【マウンテンチャンネル】を利用します。

上記のアプリはversion1.2.0なのですが、versionNameSuffix 1を設定しているので【1.2.01】となっています。
パッケージ名も.debugが追加されています。

まとめ


さて、5回に渡って記述してきた【Androidアプリ開発の準備のテンプレート化】ですが、これで終了です。
他にもやっておいたほうがよいことはあるのですが、キリがないのでこれで一旦終了します。

私がandroidの開発を始めたのはandroid1.5で、1.6のxperiaが初めてのandroid端末の購入でした。
わずか4年ほどですが、色々変わりましたし、これからも変わっていくでしょう。
と、同時に多くのことが理解できてきました。
やはり、長く続けることは重要です。

そういったことも、これからブログを通して発信していきたいと思うので、よろしくお願いします。

でわ。

Androidアプリ開発用にもっておきたい端末


関連記事 参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...