日々精進

新しく学んだことを書き留めていきます

2014-11-01から1ヶ月間の記事一覧

Androidのjacksonをインストールすると「Duplicate files copied in APK META-INF/LICENSE」エラー

エラーメッセージから想像するに、複数のjarに同名のファイルが含まれていることが原因っぽい。 重複しているのは不要なファイルなので、ビルドオプションで除いてやるとよい。 これはjacksonのバグだけど、2.3ではまだ直ってないようだ。 android { ... pac…

Androidでファイルから文字列を読み込んでStringにする

InputStreamのtoString()とかで出来るかと思ったら、ちょっと面倒だった。 以下のようにBufferedReaderを回して文字列を結合しないといけない。 もっと簡単にできる方法ないのかな? BufferedReader r = new BufferedReader(new InputStreamReader(inputStre…

roboletricでテスト実行時にbreakpointで止まるようにする

Preferences>Complier>Use in-process buildのチェックを外すとbreakpointで止まるようになる。 後はRun/Debug Configurationsの中の[test]が後ろに付いているConfiguration(これは自動生成されるっぽい)を選択してDebug実行を開始すればよい。 Android St…

Android Studioでassetsフォルダを追加する

以下手順で追加できる。 appフォルダを右クリックし、New>Folder>Assets Folderを選択する。 次の画面でFinishをクリックする。 参考: Where to place Assets folder in Android Studio

roboletricでテストを実行すると「org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException」エラー

原因はroboletricが実行時にmaven repositoryから何かをダウンロードしようとするがプロキシ設定がされていなくてmaven repositoryにアクセス出来ないため。 プロキシ設定は~/.m2/settings.xmlに以下のように書く。 <settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>p</username></proxy></proxies></settings>…

ghqのルートディレクトリを.ghqから変更する

ghq

~/.gitconfigに以下を追記すると変更できる。 [ghq] root = ~/Document/ghq ルートが.ghqになっていると、spotlightのインデックス対象にならないのでルートは変更して使ってます。 参考: ghq: リモートリポジトリのローカルクローンをシンプルに管理する -…

Android Studioをコマンドラインから起動する

環境はMacです。 Android StudioのメニューのCreate Command-line Launcherを実行し、 studioコマンドを生成する。 以下のコマンドでAndroid Studioを起動できる。 studio <androidプロジェクトのプロジェクトルートパス> 以下でもOK。 open -a "Android Studio" <androidプロジェクトのプロジェクトルートパス> Android StudioはXCodeのxcworkspaceのよ</androidプロジェクトのプロジェクトルートパス></androidプロジェクトのプロジェクトルートパス>…

iOSビルド時に「Warning: The Copy Bundle Resources build phase contains this target's Info.plist file」警告

iOS

原因はPlistのTarget Membershipにチェックが付いていることなので、 はずしてやればよい。 詳しい手順は下記サイト参照。 『アプリ作成日記 WARNING: The Copy Bundle Resources build』

./gradlew buildを実行すると「SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.」エラー

原因はlocal.propertiesがプロジェクトルートに無いこと。 local.propertiesを作り、中身を以下のようにすればよい。 ## This file is automatically generated by Android Studio. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This fil…

Android Studio用.gitignoreファイル

以下を.gitignoreに書けばOK。 ググるともっと沢山指定している例が多かったが、それは大抵Eclipse用で、 Android Studioになってからは大分シンプルになったようだ。 .gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build 参…

コンタクトレンズは通販で買うと捗る

むしろ今までなぜコンタクトを通販で買わなかったのか。。と思った。 メリットは以下。 店舗で買うより安い デイリーズアクア バリユーパックの価格はカカクコムによると2700円程度だが、今まで利用していた店舗では5500円程度だった。 眼科診察を受けないで…

gradle build時にテストを実行しないようにする

以下コマンドでできる。 gradle build -x test 参考: Gradle build without tests

UISearchBarの中のTextFieldの背景色を変更する

iOS

UISearchBarのsearchBarStyleをminimalにする。 UISearchBarを持つViewControllerで以下を実装する - (void)viewDidLoad { [super viewDidLoad]; UITextField *textField = [self findTextFieldOfSearchBar:self.searchBar]; // 背景色を白に変更 [textField…

iOS8でUITableViewCellのReorderControlが消える

iOS

一度画面外にいって再度表示されたCellのReorderControl(並べ替えマーク)が消えるという不具合。 これはiOS8のバグらしい。Cellのサブクラスで以下を実装すれば直る。 - (void)prepareForReuse { [super prepareForReuse]; [self setEditing:NO animated:N…

iOS7,iOS8でTableViewCellの背景色が白になる

iOS

IB上でbackgroundColorをclear colorにしても効かない。 コードからbackgroundColorを設定してやらないといけない。 CellクラスのawakeFromNibあたりで以下を実行すると直る。 iOS SDK8でビルドする前は背景色透明になってたのにな。。 self.backgroundColor…

iOS7,8でモーダルビューの背景色を半透明にする

iOS

iOS7と8でやり方が違うので、以下のように分岐させる。 IS_GREATER_THAN_OR_EQUAL_TO_IOS_8は独自に定義したマクロ。 // モーダルビューの背景を半透明にし、fadein, fadeoutさせるための設定 if (IS_GREATER_THAN_OR_EQUAL_TO_IOS_8) { // これが無いとモー…

Gitで削除したStashを復活させる方法

git

基本的に下記記事の通りやればOKだが、「git show --summary 候補のsha1」を実行して復活させたいコミットのSha1を探すのが大変なので簡単にできるワンライナーを書いた。 git stash save で一時退避した変更を、誤って git stash clear で消してしまったと…

Androidエミュレータを起動すると「emulator: Failed to sync vcpu reg」エラー

よくある原因はGenymotionが起動中であることだけど、Genymotionは起動していなかった。 原因は、Android AVD Managerが応答しない状態になっていたこと。 アクティビティモニタからAndroid AVD Managerを強制終了すると直った。 参考: How do I fix "Faile…

Android Studioでlombokで生成したgetter,setterを解決できない

補完されなかったり、メソッド名が赤字になったりして困っていた。 lombok pluginを入れると直った。 こういうエコシステムも一から勉強していかないとなぁ。。 参考: http://rejasupotaro.github.io/2014/04/30/45.html

gradlewを実行すると、「Could not find property 'processResources' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

原因はgradleの仕様変更。 build.gradleを以下のように修正すると直った。 androidManifestFile variant.outputs[0].processResources.manifestFile 参考: http://rx93g.blogspot.jp/2014/12/android-studio-10.html

gradlewを実行すると、「Error:Could not find property 'processManifest' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

原因はRobolectric Gradle Pluginのバージョンが古いこと。 Android Studioのバージョンを1.0.0に上げると、Robolectric Gradle Pluginは1.4にしないといけないらしい。 以下のようにバージョンを指定すると直った。 classpath 'org.robolectric:robolectric…

gradlew実行時に「No such property: projectDependencies for class: com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated」エラー

Android Gradle pluginのバージョンとandroid-aptのバージョンが合っていないことが原因。 以下のようにバージョンを修正すると直った。 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' classpath 'org.robolectric:robolectric-gradle-plugin…

Android Studioでgradle syncを実行すると「Gradle DSL method not found: 'runProguard()'」エラー

build.gradleのrunProguardをminifyEnabledに変更すると直った。 参考: AndroidStudio - Android Studio を1.0にあげたら Gradle DSL method not found: 'runProguard()' エラー - Qiita

rmコマンドでゴミ箱にファイルを移動する

rmtrashを使う。 brew install rmtrashを実行する zshrc等に「alias rm='rmtrash'」を追加 参考: 必ずやっておく設定、rmコマンドを「ゴミ箱」機能に置き換える方法 | Macとかの雑記帳

gradlewを実行すると、「Received status code 502 from server: Bad Gateway」エラー

原因はプロキシの外と内側の両方にMavenリポジトリがあり、両方からライブラリをダウンロードしてくる場合にプロキシの内側のリポジトリにアクセス出来なかったことが原因(プロキシの内側にあるリポジトリにアクセスするにはプロキシを経由せずアクセスする…

./gradlewを実行すると「エラー: メイン・クラスorg.gradle.wrapper.GradleWrapperMainが見つからなかったかロ ードできませんでした」

ググると、gradle-wrapper.jarがないからだよという回答が多いけど gradle-wrapper.jarがあるのにこのエラーが出て困った。 原因はgradle-wrapper.jarの絶対パスの中に「:」が含まれていることだった。 :をパスから除くと直った。

Android Studioで「android studio server's certificate is not trusted」というダイアログが表示される

このダイアログが出た時にAcceptをクリックしても何度でも出てくる。 PreferencesウィンドウのServer Certificatesを選択し、Accept automaticallyをチェックすると直る、らしい(まだ設定したばかりなので本当に直ってるかがわからない。。) 参考: Androi…

ActionBarが表示されない

いつの間にかActionBarが表示されなくなってしまった。。 マニフェストの「android:theme="@style/AppTheme"」を削除したら直った。 でも見た目も変わってしまったし、プロジェクトを作ったばかりの時はテーマを設定していてもActionBarが表示されていたので…

Android Studioにjarファイルを追加する

外部ライブラリをjarファイル形式で取り込む場合の手順。 app/libsフォルダにjarファイルを配置する。デフォルトの状態ではProjectツリー上ではlibsフォルダは非表示になっているので注意。Projectペイン左上の「Android」をクリックしてProjectに切り替える…

JavaScriptプログラマのための 実践的TypeScript入門を読みました

JavaScriptプログラマのための 実践的TypeScript入門作者: 川俣晶,井上章出版社/メーカー: KADOKAWA/アスキー・メディアワークス発売日: 2014/05/31メディア: 大型本この商品を含むブログを見る 今までnode.jsのプログラムはcoffeescriptで書いていたけど、…