« ◆CANVASでパラパラ動画作成時の注意 | トップページ | *Androidアプリ開発の最重要事項:ファイル名の大文字/小文字 »

◆Android開発でのバージョン管理:メモ

プログラム開発では、単純なものであっても、版管理はとても重要です。
この記事ではAndroid Studioでの版管理手法の「例」を示します。
他のやり方もあり、どれが良いか判断しかねている面もあります。

 バージョン管理GITを設定する。

Android Studioには版管理システムを取り込むことができます。

色々選択できますがGITと呼ばれるシステムがAndroid Studioの標準のようです。

!!!注意!!!
設定はプロジェクトが選択されている状態で行う事
ソースを開いているとそのソースだけが管理対象となります
この場合、後でプロジェクト全体を対象とすることはできません
きっぱりとプロジェクトを捨て、新たに作り直す必要があります
GITは人の失敗、操作ミスを決して許しません!!!
GITを使わない方が安全かも知れません

メニューの[VCS]⇒[VCS Operations Popup...]で設定画面が出ます。

 プロジェクトを本格COMMITする

この段階で一旦プロジェクトを本格COMMITします。

GITによるバージョン管理では戻せなくなることがあります。 例えばファイル名の大文字を小文字に変えた場合などです。 その変更時点のみならず、それ以前の版にもうまく戻れなく なります。

そのためGITでのCOMMITは編集途中の戻り場所程度に考え、 本格COMMITはプロジェクトフォルダをコピーし圧縮保存 する形とします。

一つのプロジェクトは一つのフォルダ下にまとまっています。

   C:
      Users
         ユーザ名
             AndroidStudioProjects
                mytest // 仮にプロジェクト名がmytestだとして
                   : プロジェクトmytestの構成物
                test2
                   : プロジェクトtest2の構成物

プロジェクトのフォルダを別名にコピーします。
例えば「AS_mytest.0」のようにAndroidStudioであることが 分かるような名前にします。

圧縮し、保存します。

保存したものは、展開し、元のフォルダ名で元の場所に置けば再生されます。

 apkファイルにバージョン番号を付ける

デフォルトでは生成される.apkファイル(アプリの実行形式)の名前は固定です。
このままでは混乱の元ですので、名前とバージョン番号を与えるようにします。

build.gradleファイル記述を変更します。 build.gradleファイルは2個あり、変更するのは(Module:app)です。

次のように変更します。

// C:\Users\ユーザ名\AndroidStudioProjects\プロジェクト名\app\build.gradle
apply plugin: 'com.android.application'
android {
   compileSdkVersion 22
   buildToolsVersion "22.0.1"

   defaultConfig {
      applicationId "パッケージ名"
      minSdkVersion 15
      targetSdkVersion 22
      versionCode 1
      versionName "1.0.0" // 変更 1.0 -> 1.0.0
      }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
      }
   // 追加
   applicationVariants.all { variant ->
      if (variant.buildType.name.equals("release")) {
         variant.outputs.each { output ->
            if (output.outputFile != null
                && output.outputFile.name.endsWith('.apk')) {
               // .apk名の付け替え newNameを必要に応じて変更すること
               def versionName  =defaultConfig.versionName
               def newName      ="ファイル名_v${versionName}.apk"
               output.outputFile=new File(output.outputFile.parent,newName)
               }
            }
         }
      }
   }
dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   compile 'com.android.support:appcompat-v7:22.2.0'
   }

versionNameの番号と、ファイル名に適切なものを指定します。

仮に、番号を"1.0.0"、ファイル名を"mytest"とすると、ビルドした場合
 mytest_v1.0.0.apk
が作成されます。

ビルド手順に関してはここでは述べません。本などを参照してください。

上手くapkファイルが出来たら、COMMITします。

[Version Control]で情報を出すと次のような形になっているはずです。

defaultを選択状態にして[VCS↑]ボタンを押しCOMMIT操作をします。
プロジェクトフォルダをバージョン番号を付けた形(例えばAS_mytest_100)にコピーし、圧縮します。

 ファイル名の大文字/小文字

パッケージ名は全て小文字になる、リソースファイル名は大文字が許されない などの制限があるため、ファイル名は全て小文字で統一するのが安全です。
ただし、クラス名は小文字にすると警告が出ます。
見やすさを取るかシステム制限を考えた安全を取るかは考えの分かれるところです。

|

« ◆CANVASでパラパラ動画作成時の注意 | トップページ | *Androidアプリ開発の最重要事項:ファイル名の大文字/小文字 »

トラックバック


この記事へのトラックバック一覧です: ◆Android開発でのバージョン管理:メモ:

« ◆CANVASでパラパラ動画作成時の注意 | トップページ | *Androidアプリ開発の最重要事項:ファイル名の大文字/小文字 »