/var/log/messages

Feb 1, 2014 - 4 minute read - Comments - android

Android Studio でハロワの後テスツ追加してみる

とりあえずハロワから。その後、Unit Testing With Android Studio を見つつ云々してみる方向で。

AndroidStudio で HelloWorld

Application name は HelloWorld で、Module name は helloworld、Package name は com.example.helloworld としました。面倒なので Minimum required SDK は ICS に。後はデフォルトです。wizard の次の画面はそのままで次。

Blank Activity を選択して名前もデフォルトにして finish すれば HelloWorld なプロジェクトができました。動作の確認は略。fragment 使う形になってます。

デフォルトの src/build.gradle が以下。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
}

今気が付いたのだけれど、デフォで gradlew 使う形になってるってのはすばらですね。

.gitignore?

どう書けば良いのだろうか。What should be in my .gitignore for an Android Studio project? によると以下とのこと。

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Android Studio
.idea/
.gradle
/*/local.properties
/*/out
/*/*/build
/*/*/production
*.iml
*.iws
*.ipr
*~
*.swp

上記の内容でファイルを追加しようとしたら以下な内容でスデに .gitignore がありました。

.gradle
/local.properties
/.idea/workspace.xml
.DS_Store

.DS_Store のみ残して上書き。そして以下。

$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add
$ git push origin master

で、一旦プロジェクトを削除したいのですが Android Studio てきな方法ってどうやるんでしょ。む、ツールバーの下にあるプロジェクトなソレを右クリックで Delete なメニューが出てきますね。いきなり消しちゃって大丈夫なのかな。

ヤッてみた

む、Recent Project な一覧からは消えないな。ディレクトリを削除してみて Android Studio 再起動してみます。

結果として Recent Projects には削除したプロジェクトは表示されていませんでした。とりあえず Check out from Version Control というソレを使ってみます。

項目を選択すると

  • Github
  • CVS
  • Git
  • Mercurial
  • Subversion

というリストが表示。先程のソレを push したのは Github なのでそれを選択すると Login to GitHub というダイアログが出てきました。ログイン情報を入力して Login ボタンをクリックすると、次によく分からないダイアログが出てきたので cancel したのですが、ログインには成功しているようです。

clone する repository を選択して clone ボタンをクリックすると gradle 関連で確認ダイアログが出ましたがデフォルトですすめます。

build.gradle?

Recent Projects に build.gradle という標記になってしまいました。むむむ。取り消したいんですがどーすりゃいいかな。ディレクトリ削除して一旦取り消し。

面倒なので git clone は手動で、という方向で。

Android Studio 起動して import してみます。って起動したら Recent Projects に自動で追加されてましたが開けなかったですね。仕方ないので import してみてリトライしたら大丈夫でした。

これで何とかなった、ということにして試験を追加してみます。

試験追加

とりあえず、以下な対応をしてます。

  • com.example.test パケジを追加
  • ExampleTest というクラスを追加して testExample というメソド追加
  • 紹介されている実装は必ず失敗する形になっています

で、次は Unit Testing のためのプロジェクトの設定、とのこと。

  • Run -> Edit Configrations を選択
  • 左上にある + をクリックして Android Tests を選択
  • Unnamed になってる Name を Tests とかにする
  • Module が になってるはずなので試験対象なプロジェクト (モジュール?) にしておく
  • 次に Test の項目で All in Package を選択してさっき作ったパケジを選択、なのかな
  • Target Device の欄は Show chooser dialog をチョイスとありますね
  • ここまでを apply して終了

これで Tests な Configration を選択して実行できるようになっている模様。下に Gradle Executing Tasks と出力されてますが大丈夫なのか。

実行してみるとデバイスの選択ダイアログが出てきて、とりあえず Emulator を選択したら当り前ですが emulator 起動して Run な部品は待ち状態。

うーん、試験が動かない。ちなみに実機接続してリトライしてみたら fail しましたね。なんで emulator だと駄目なのか。

よくよく見てみるに com.example.helloworld の中にさらに com.example.helloworld.tests が作られてる形になってました。何だこれは。

作り方が悪かったようです。修正してます。つうか今の環境って CI なナニでは通用しないな。

もう少し

build.gradle を云々する以下のエントリを見つつ続行するかもしれません。とりあえずエントリ投入とかリポジトリ更新とか。