【Android】EspressoでUIテストの準備

build.gradleに以下を追記

// defaultConfig 
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

// dependencies
androidTestCompile 'com.android.support.test:runner:0.3'
androidTestCompile 'com.android.support.test:rules:0.3'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2' 
androidTestCompile 'com.android.support:support-annotations:23.2.1'

support-annotationの一行は適宜バージョンを変更する。gradleのエラーにでるバージョンに指定すれば問題ない。

 

テストクラス(e.g. MainActivityTest.java)頭に@RunWith()を追記

@RunWith(AndroidJUnit4.class)
public class MainActivityTest extends ActivityInstrumentationTestCase2{
.
.
.

あとはテストを書いていく。

【Cloud 9】インサートモードから抜けられない?

Cloud9のkeyboard modeをvimにしましたが、インサートモードから抜けられず困りました。

もしchromeを使っていて、さらにvimiumをインストールしている場合、エスケープの入力がすべてそちらにいっている可能性があります。

f:id:shimbaroid:20160606163355p:plain

vimiumのoptionからcloud9を弾くよう設定しましょう。

【Android Studio】ライブラリがFailed to resolve ...で更新できない

ここ最近、いくつかAndroid向けにライブラリをつくってはbintray、jcenterを使って公開しています。

 

しかしライブラリの更新をjcenterの方に登録してから、自身のアプリでdependenciesの書き換えをおこないgradle syncをするとFailed to resolve ...とのエラーがでて更新できません。

f:id:shimbaroid:20160603214550p:plain

 

調べたところ、jcenter repositoryのurlを変更してやるとうまくいくよう。

 

stackoverflow.com

 

デフォルトでは https://jcenter.bintray.com/ となっているところを、

projectのbuild.gradleを書き換え http://jcenter.bintray.com/とします。

f:id:shimbaroid:20160603215352p:plain

allprojects -> repositoriesを書き換えました。これでうまくいきました。

 

今回はbintray、jcenterでのケースでしたが、それ以外でも同エラーはリポジトリのURLが間違っていたり、gradleの記述が間違っていたりするのが原因です。プロジェクトルートのbuild.gradleかapp/build.gradleかも確認してみてください。