GraveDollの備忘録ブログ

勉強したことや捗るグッズの備忘録です。

Android Studioを1.0にアップデートした

ちょっと遅れましたが・・・ついにAndroid Studioがリリースされましたね。
毎度のことながらスムーズに行くことはなく、いくつか引っかかった点があったのでメモ。
OSはMacです。


いきなりキャプチャを失念してしまったのですが、アップデートファイルのダウンロードが完了すると、sdkフォルダをアプリケーションフォルダの外に出せという警告メッセージが出ます。
Android Studioのアイコンをcontrol+クリックして中身を表示し、sdkフォルダを外に出しましょう。
私はゴミ箱に捨ててしまったのですが、自動的に/Users/ユーザー名/Library/Android/sdkを参照してくれていました。

f:id:GraveDoll:20150106221242p:plain
セットアップウィザードが開始されます。

f:id:GraveDoll:20150106221719p:plain
とりあえずStandardを選択しました。

f:id:GraveDoll:20150106222101p:plain
f:id:GraveDoll:20150106222356p:plain
SDKツールなどをダウンロードし直すようです。

f:id:GraveDoll:20150106223326p:plain
Gradleのエラーメッセージが出ました。

f:id:GraveDoll:20150106225422p:plain
f:id:GraveDoll:20150106225807p:plain
build.gradleにある"runProguard"を"minifyEnabled"に変える必要があります。

f:id:GraveDoll:20150106230234p:plain
私の場合、またエラーが出ました。

f:id:GraveDoll:20150106230642p:plain
f:id:GraveDoll:20150106230455p:plain
robolectricsを使っていたからのようで、プラグインのバージョンを0.11から0.14にアップデートさせました。

あけましておめでとうございます。

ブログ開設から一年が過ぎました。
当時は週一で更新する予定でしたが、月一すらできていない結果となってしましました。
まあ、あまり気負いすぎて変な記事を書いてしまっても良くないので、週一更新に関しては、今年は努力目標としたいと思いますw

他に今年の目標としては、

  • iOSアプリ1本リリース

といったところでしょうか。
とういうことで、今年もよろしくお願い致します。

DynDNSでホストネームをなんとか無料で使おうと思ったが無理だった

帰省先からでも自宅のMacが使えるように、WOLでリモートアクセスする計画を立てていました。
自宅のグローバルIPアドレスは固定IPではないので、まずはダイナミックDNSを利用する必要があります。そこで自宅のルータ(WZR-HP-G302H)が対応しているDynDNSに登録することにしました。
DynDNSについて調べていると、どうやら有料サービスらしいのですが、無料で1つのホストネームなら維持できる方法があるとのこと。
手順はこちらの記事を参考にさせていただきました。


Dyn.comでの新規ホストネームの取り扱い - tanzenの日記

リンク先には「If you cancel your Pro service, all advanced features with Pro will be removed and your account will expire without a monthly login. Should you choose to cancel, you will be able to keep one free hostname.」と書いてある。トライアルをキャンセルして有料サービスに移行しなくても1つのホストネームは維持できるという感じで書いてある。

とあったのですが私が試した時には、有料のDynDNS Proへの自動更新をキャンセルする際、ホストネームを削除しなければいけない仕様に変わっていました。
f:id:GraveDoll:20141230193316j:plain


無念・・・。

ITエンジニアの小説

Press Enter■
@ITのコラムの中に、Press Enter■という小説形式の人気コラムがあって、たまに一気読みしています。
シリーズがいくつかあり、どのシリーズもIT業界が抱える問題をテーマにしています。
各シリーズには、下請けプログラマを見下す大手SIer、新しい技術を学ぼうとせず昔の非効率なやり方を強要する老害など、癖の強い悪役(?)キャラクターが必ずいて、プロジェクトを炎上させます。
小説の中のキャラクターは極端ですが、社内やプロジェクトのメンバーの中にいそうな感じのあるある感が面白さを引き立てています。

昨日はその中でまだ読んでいない「罪と罰」を読んだらやはりとてもおもしろく、一気に読み終えてしまいました。

過去のシリーズはKindle版で小説として発売されているようです。

Zenphone5買いました

以前の記事にも書きましたが、USBデバッグに使っていたAndroid機(F-05D)が壊れてしまったため、新しいデバイスを探していました。
ちょうどNexus9, Nexus6が発売されるのでそれを買おうと思っていたのですが、Nexus9は大きすぎるし、Nexus6は高いので見送りました。
そこで低価格のAndroidデバイスを探していたらASUSのZenphone5の評判が良かったので買ってみました。
f:id:GraveDoll:20141226201135j:plain
f:id:GraveDoll:20141226200958j:plain
↑ケースとフィルムを装着しています。

購入先はAmazonのAUSUSショップです。本体が16GBで28944円、送料が540円でした。
初回起動時に通信をWi-Fiのみでおこなうか、SIMカードを利用してモバイルデータ通信を行うか選べるので(もちろん後から変更可能)、SIMカードがないと使えないなどということは起こりません。
OSバージョンは4.4.2で、2015年4月に5.0にアップデートの予定*1とのこと。

ざっくりとした所感

まだ少ししか使用していないのですが、サクサク動くし特に問題はありません。

Phone - ZenFone 5 (A500KL) - ASUS
スペックを見ると、携帯としてスマホを使うのに問題なさそうだし、USBデバッグ用なら十分すぎる性能だと思います。
注意点としてはNFCが搭載されていないので、NFCアプリの開発ができないことくらいでしょうか。まあこれは承知で買ったし、今のところNFCアプリの開発予定はないのですが。

まとめ

コスパ的にはとても良いと思います。ひと通り基本的なスマホ機能を使えて(NFCは無いですが)3万以下と安いので、Androidアプリ開発をこれから始めようとして、スマートフォンの実機をまだ持ってない方にはオススメなデバイスだと思います。

また使用していて何か発見があったら記事に書こうと思います。


※2015/2/5追記
ケースとフィルムは以下のものを使っています。
ケースは満足なのですが、フィルムは一週間くらいの使用で小さな穴が空いて気泡が入ってしまいました。アクセサリーの選択肢があまりないのが辛いところです。

レイ・アウト ASUS ZenFone5 A500KL なめらかタッチ光沢指紋防止フィルム RT-AZ5F/C1

レイ・アウト ASUS ZenFone5 A500KL なめらかタッチ光沢指紋防止フィルム RT-AZ5F/C1

Stack Overflow日本語ベータ版公開開始

Android開発者なら一度はお世話になったであろう、プログラマ向けQ&Aサイトの"Stack Overflow"の日本語ベータ版が公開されました。

スタック・オーバーフロー

本家は英語だったので日本人にとっては英語が得意でないと読むのが大変でしたが、日本語版公開によりプログラマの情報共有が捗りそうです。
私もこのサイトにはかなり助けられたので、これを機に参加してみようと思います。

!!! FAILED BINDER TRANSACTION !!!についてメモ

あるアプリのログファイル(バイナリデータ)を解析して文字列に変換、表示するツールを作っています。
Activityでバイナリを解析、文字列に変換した後、それを保持するログクラスを生成しています。

log[logNumber]

のようにログデータの数だけログクラスの配列を作り、それをFragmentPagerAdapterのFragmentにBundleで初期値として渡しているのですが、Fragment表示中にホームボタンを押したり、電源を切ったりすると、
!!! FAILED BINDER TRANSACTION !!!
がlogcatに表示されました。
大量のデータをBundleに保存しているため、メモリ不足になっているようです。
ログファイルのパスだけをFragmentに渡し、Activityでやっていた解析、文字列変換、ログデータクラスを生成をFragment内でおこなうようにすると表示されなくなりました。