[エンジニア][Android]ビルドが遅くて死にます

前回Android StudioをうっかりEclipse3.5が入ってるマシンにぶちこんだらなんだか苦労しちゃったよテヘヘみたいなのを書いたんですけど、頑張ってAndroid Studioで何かを作るかと思って運用しようとしてたんですけど、なんかAndroid Studio開くのに5分とかかかるんですけどその内容がビルドで5分かかってるんですよ。
ていうかコンパイルで5分かかってるようなのでビルドとかコンパイルとか自動的にしなくていいよと思うんですけどやっぱり開かないと設定がわからないので開くとビルドが5分かかるので心が折れて放心状態になるんですよ。
でもやっぱりマシンのキャッシュとかがまだできてないのかなといい方に考えることにして、とりあえず空のプロジェクト作ってHello World!とかやるんですけどよく考えたらEclipseで開発してる時点でコレやったなーと思うんですけどほかに書くことないのでHello Worldが表示されるだけのアプリをエミュレータで実行しようとしたらやっぱりビルド5分とかかかるんですよ。
空なのにビルド5分とかかかるんだなーとビルド5分の間放心状態なんですけど、やっぱりエミュレータがAndroid2.1の頃よりはマシとはいえすげえ遅いので放心状態になるんですよ。
でもここで心が折れたらダメ、負けるなわたし!とか嘘っぽい自己激励してレイアウトファイルを久々に弄繰り回したらエラー出しちゃうしここらへんで放心状態を通り越して若干イライラしてきたんですけど、でもビルドするとやっぱり5分とかかかるんで涙目になってきたです。
でもここでEclipseの開発に戻るのも癪っていうか結構苦労してAndroid Studio入れたし、と思って簡単な表示を書いて実行したらやっぱりビルド5分とかかかるしエラーが何か所か出て修正してCtrl+Sで保存して実行するとビルド5分とかかかるしエラーが出るんですよ。
エラー修正してCtrl+Sで保存してまたビルド5分とかかかって実行するとエラーが出るしCtrl+Sがお呼びでないってことに気付くまではそうそうかからなかったんですけど、差分を勝手に保存するIDEって今回初めてつかったので設定もなんもしてないのに別名で勝手に上書きするIDEだということに気付くまでに2時間くらいかかって脳みそ鼻から流れて出ていくんじゃないかというくらいに放心しましたがなんとか修正を上書きして実行するとまたビルド5分とかかかるんですよ。
で静かにAndroid Studioを閉じてEclipse3.5を立ち上げてADT更新しようとしたらEclipse死んだ。

ビルド5分とかかかるIDEさんとは今はちょっと付き合えないの…。

※Eclipseは3.7を中途半端に導入して生きました。
※Android Studioさんの呪いなのか、記事が一回全部消えたので恨みを込めてビルド5分多めで再送いたします。

[エンジニア]Android Studioを導入してみてすごく前途多難な感じがしている

知らん間に梅雨に入っている日本某所です。通勤とかもうしたくないです。

家の環境にリリースされたばかりのAndroid Studioを導入してみました。
リリースされたばかり、といってもInteliJ IDEAはソーシャル系というかマカーなエンジニアさんには常識のようだったので、
業務系の職業マにはなじみのない世界でございますのよ…。
Android系の開発にはEclipse3.5とかAppInventerを使ったりしていましたが、まだアプリをリリースするには至っていないので
使いやすい開発環境がとても欲しくてインストールしてみました。

インストールには下記のサイトさんにお世話になりました。
Android Studio最速入門~効率的にコーディングするための使い方

連載なのでまだ完結はしていないようなのですが、とりあえず第三回までの間に起動に困ることばかりで2日ほど無駄にしたのでメモしておきたいと思います。

まず、先にマシンの環境から書いておきます。

・Windows7 Home Premium SP1(64bit)
・AMD E350プロセッサ 1.60 GHz
・メモリ4GB
・システム評価は3.8 決して動きのいいマシンではなく描画関係が死んでいると言っても過言ではないです。Chromeの立ち上がりに5分くらいかかります。

今までのAndroid環境
・Java6
・JDK1.6
・Eclipse3.5(galileo)
・Xperia SO-01(初代エクスぺリア)

今回導入したAndroidStudioのインストールについて。
・すげえ時間かかりました。2時間くらい。
・でもSDKを単体で頑張って用意するより手軽。
・日本語化パッチを充てる前にPreference/Appearanceの内容を把握しておかないと、日本語が全部□になっちゃった後確認するのがすごく大変だった。
・日本語化パッチがどうも快適ではないのですが、何故かというとフォントサイズを変更するとエディタではなくツール表示フォントサイズが変わってしまうから…。
でも英語よりすごく見やすいです。コメントも日本語で書けます。ありがとございます。
・IDE自体はEclipseの方が軽量だとは思いますが、直観的なAndroidのIDEとしてはすごくわかりやすいです。
・お約束ですがいろんなものの初回起動(IDE、Preference、プロジェクト、Module、ADB、AVDなど)はすげえ遅い。

ここからトラブルシューティング(多分途中、まだ困ることたくさんあると思う)です。

・ADB.exeが起動せず、ダイアログが表示されてしまう。
…「ADB not responding.」というメッセージが出てしまい、「オメーのADB.exeの動作をこれ以上待ってるのも悪かないけど手動でぶっ殺してからもっかいやるか?」(意訳)というメッセージが出て

(You can wait more, or kill “adb” process manually and click ‘Restart’)

「Wait More」「Restart」「Cancel」の選択肢が出ます。
タスクマネージャを起動し、プロセス内にadb.exeが入っていたら強制終了してもう一度「Restart」を押します。
ここで起動すればいいのですが、何故かうんともすんとも言わなくなります。
原因としてわたしが考えたのは2つほどです。
①adb.exeのパスが通っていない。
自分の環境ではEclipseが参照しているSDKと、AndroidStudioが同梱していたSDKがあります。このどちらも環境変数に載せていませんでした。このことにより、起動したいadb.exeが分からなくなっているのかと思いました。
AndroidStudioに同梱されているSDKの中からadb.exeのパスを環境変数に登録しました。Windows7の環境変数にたどり着くまでが長すぎますよね…。
②adb.exeが既に起動している。
このAndroidStudioでのデバッグの前に、実はEclipseを一度立ち上げていました。すみません、ソリューション構成を比べてみようと思ったんです…。
よって再起動を行い、その後はEclipseを立ち上げずにAndroidStudioを立ち上げるようにしました。
一応、上の2つの操作で現象が起こらなくなりました。
探しても探しても英語のサイトしか出てこなかったので泣きそうになりました。あとInteliJ IDEAのサイトとか。Windowsの情報があまりないかもしれません。

・デバッグしてADB.exeは立ち上がるんだけどさっぱり画面が進まない。
…adb.exeがいうこと聞くようになったと思ったらこれです。
エミュレータが立ち上がり、「android」というロゴが反射するところまでは表示されるのですがそれから進まない場合。
AndroidStudioではデバッグするとIDEの下にデバッグ経過が表示されます。

<正常な場合>

Device connected: emulator-5554
Device is online: emulator-5554
Target device: emulator-5554 (AVD名)
Uploading file
local path: C:\Users\ユーザフォルダ\AndroidStudioProjects\プロジェクト名\モジュール名\build\apk\モジュール名-debug-unaligned.apk
remote path: /data/local/tmp/モジュールの名前空間
Installing モジュールの名前空間
DEVICE SHELL COMMAND: pm install -r “/data/local/tmp/モジュールの名前空間”
pkg: /data/local/tmp/モジュールの名前空間
Success

上記は正常に起動し、エミュレータが動作している場合ですが、下記のようなメッセージで進まなくなっていました。

<異常な場合>

Device connected: emulator-5554
Device is online: emulator-5554
Target device: emulator-5554 (AVD名)
Uploading file
local path: C:\Users\ユーザフォルダ\AndroidStudioProjects\プロジェクト名\モジュール名\build\apk\モジュール名-debug-unaligned.apk
remote path: /data/local/tmp/モジュールの名前空間
Installing モジュールの名前空間
DEVICE SHELL COMMAND: pm install -r “/data/local/tmp/モジュールの名前空間”
device is not ready. waiting for 20 sec.
DEVICE SHELL COMMAND: pm install -r “/data/local/tmp/モジュールの名前空間”
device is not ready. waiting for 20 sec.
(延々と続く)

ちなみに、対応するAVDを作っていない場合にはモジュール起動用のAVDを選択する画面が出るようです。
AVDは別途任意に作れます。AVD Managerから。

さて、AVDが立ち上がったもののどうもSHELL COMMANDが通らない様子。
これもまた調べても調べても英語のサイトが出るばかりですが、その中の一つに「Administartor」という単語があったのでやっとピンときました。
「管理者として実行」をAndroidStudioに設定します。
その後、AndroidStudioを再起動するとかなり待ちますが「device is not ready. waiting for 20 sec.」が出なくなります!
もうこれだけで1時間くらいかかりました…。

これでやっとデバッグがおっぱじめられます!
Windowsで開発するとか情弱pgrされそうですが、わたしはVisualStudio使いなのでWindowsメイン機なのですわよ…。いやMacとか買ってVirtualBoxにWindows8ぶっこんでみたりしたいんですけども。先立つものもないわけで。Monoもすごくすてきですが。
日本国内でWindows7の圧政に苦しみAndroidStudioに踊らされているすべての方に、お役にたてれば幸いです。

でも開発がさくさくいくのかというと…まだ前途多難そうです…。
明らかに動作も遅いです。でも何となく達成感があります(誤った達成感)

なお画像とかないとは開発環境そのままにつき、プロジェクトの名前とかにぼかしを入れるのがめんどくさいとかそのへんです。

[コミック]無限の終幕とチャイナ服の開幕に寄せて

今までもこのブログではネタにしているのですが、沙村広明さんの漫画が大好きでよく読んでいます。
高校生の時に「無限の住人」→大学生のころに「おひっこし」→それ以来「ブラッド・ハーレーの馬車」「シスタージェネレーター」「ハルシオン・ランチ」と読み進めてきましたが、大好きで仕方がなかった「無限の住人」がこのたび終了とのこと。
作中では恐らく3年程度の話なのですが、実際には連載終了まで19年かかったとのことで大変お疲れ様でした。

無限の住人(30) <完> (アフタヌーンKC)
沙村 広明
講談社 (2013-02-22)

高校生の時点で読み始めたときには既に結構な巻数が刊行済みで、しかも高校の生徒会執行部室(生徒会ではなく、部活です)に後輩のドイツ人ハーフが持ち込んで置いてた本なので、正直「外人が好みそうな変な時代劇だよな…」と思いながら読んでました。
八百比丘尼が出てきますが、自分が知っている八百比丘尼は高橋留美子さんの「人魚の森」だったので蟲とかありえねーうげーと思ってました。
しかし万次がこれほどまでに長生きするとは…。名前見て万年生きるんじゃねーかと思ったりしたりしていますけども。

同時に新連載が始まった「ベアゲルター」の一巻を買いました。
これは元々「おひっこし」の頃に沙村さんが書きたがっておられたチャイナキャットガール、的なものなんだと思いますけども、青年誌にすら向かない凄い設定ですね…。
あと題字が何となく「魔太郎が来る!」を思い出しました。

ベアゲルター(1) (シリウスKC)
沙村 広明
講談社 (2013-02-22)

先に無限の住人の総括から。
凛は万次の力を借りてここまで生き長らえてついてきたわけですけども、最終的に自分の手で幕を引くという行動を採ったことは予想外でした。
天津の「子を成す」という単語でスイッチが入ったことも。
現代にはなかなか考えられない「親の仇を討つ」というテーマでしたけども、ああそこに反応するんだなということがやっとわかりました。現代人の感覚からかけ離れすぎていてよくわからなかったテーマです。
正直、凛の旅路の意義など29巻まで忘れ去られていても不思議ではないと思ったんです。読者はそこを意識しないような話になっていたと思います。元々何だったかもよく忘れてしまうほどの期間を掛けて、親の仇だった天津という男を追ううちに凛が天津に引き込まれていくような気もしていたのです。
それを忘れずに凛が思いだし、自分の手を汚すことという描き方はすごいことだなと思います。

天津の終わりはあれでよかったんだと思います。彼は元々生き延びるべきではないのだと思いました。
何故そう思ったのかというと、槇絵が死んでしまったことが大きいと思います。槇絵と出会ったころのことがよく描かれていますが、彼はあの狼に襲われた晩に槇絵の姿に憑りつかれてしまったわけですから、槇絵のいない世界では生きられないのではないかと漠然と思います。
というかあの槇絵というルックスもお色気も実力もえらい強キャラが結核を乗り越えたにも関わらず殺すか?!みたいな驚きも大きいわけですけども。沙村さんってひいきの女の子をえらい目に合わせた上に殺すの好きですよね(笑顔)

そして万次と凛の子孫であろう布由の出会いについて。
万次が凛という名と顔を思い出したのかどうかは分かりませんが、瞳阿が凛に送り恐らく凛がずっと持っていたウヌカラ・カンナスイが、再度同じ縁を呼び込む演出はとても好きです。
布由については凛が万次以外の男を婿に取り、道場の再興を遂げて次世代に縁を託したという話なのでしょうが、わたしは布由が万次と凛の子孫でもいいと思います。
凛が死ぬまで一度も万次と会わなかったという記述はないので、万次と別れる選択をした凛がその後一度でも万次に会って子を成したというストーリーでもものすごくロマンスがあると思います。
というか誰か薄い本を出してそうな内容だと思うんですがどこかに凛×万次の本はないのか!ないのか!
表紙の内側に凛と万次が書いてありますが、表表紙のカバー内は同じ構図で布由と万次が書いてあります。しかし成長した布由がかわいすぎて万次に嫉妬…!

ちなみにむげにんで一番好きなシーンは凛が万次に接吻したと思われるセリフのみのコマです(細かい)。
一番好きな男キャラは凶載斗様でした。どう見ても某カカシ先生とかぶっています。おでこが多少広くてもかまいません。
一番好きな女キャラは瞳阿でした。あの子子どもとか産んでそだてられるんだろうか。ちょっと見てみたかった。

対して、ベアゲルター。
叛逆ずべ公アクションだとか書いてありますが正直23禁とかでもいいんじゃないでしょうか、変態と人殺しばっかり出てますし。
コンセプトは多分チャイナ書きたいだけだと思うのであまり気にしていませんが、トレーネの不遇さと万能具合が若干飛ばしすぎていないか心配です。
あと和み要素としてソリちゃんがすごくかわいいです。エログロはともかくもっとこういう天然キリングマシーンみたいなの書いてほしいです。

どうも実家住みにとっては書籍では買いにくい本になりそうですが、とりあえず表紙にエロ要素がなければうれしいです。

[映画]世界に居ない人を想う

さて!ブログさぼってたわけです!

劇場版シュタインズゲート「STEINS;GATE 負荷領域のデジャヴ」見てきました。例によって旦那と合流バカンス中にです。各方面に御礼申し上げます。
池袋で見ましたが、結構盛況でした。しかしせめて喫煙所分けろや。

元々2011年にPSP版発売時に乗った口です。SF系ギャルゲということしかわからず、こともあろうに初回特典版を買うかどうか悩んだ挙句Twitterで「買った方がいいですよ!」というアドバイスを頂き(@kanamn様ありがとうございました)買いました。まだ転職前で在宅勤務だったので、購買力も時間もありました。特典は未開封で取ってあります。
今思えば買って本当に良かったです。
当時はエロゲもギャルゲもシナリオやキャラクターは知っている作品はありましたが、実際にプレイしたことはありませんでした。その後Fate/ZeroなどもPSPで購入していますが、シュタインズゲートほどの感動はまだ得ていません。

そもそもなかなかゲームをエンディングまでクリアすることが少ないのですが、最近積んでいないゲームのひとつです。
勿論最初はまゆりルートに突っ込みました。かなしかったです。まゆりを手に入れる代わりに世界を失った感じがしました。オカリンのメンタルが死んだまま生きていくであろうこともすごくつらかった。
クリスルート、TRUEエンドは続けてクリアしたのですが、あまりの感動でその日はハイになり分析記事などを読みまくったりしながら比翼恋理のだーりん(PSP)の初回版を購入したくらいです。こちらも特典は未開封です。まだクリアしきってないんですけども。もったいなくて。
SFシナリオや秋葉原ヲタク文化も最高に良かったのですが、やはり奇跡が論理的に信じられるシナリオなのがとても良いのだと思います。例え恋がそこになかったとしても。
世界に存在しないかもしれない人間を救うことができるのです。オカリンのとった行動が何に影響したかは明確にされていません。もしかしたら世界から消えるはずの人を救うことで、世界から消された人がいるかもしれません。その通り、シュタインズゲートのシナリオの及ぶ範囲では、一つのエンドに対して喪失するものがあります。オカリンは本来それを良しとはしませんが、自分の思う優しさで世界を許します。誰も死なないことは出来ないのだと主人公が気づいてしまう。そこが本来のゲームシナリオの及ぶ範囲だと錯覚させるように一つずつのエンドが出来ています。
しかしTRUEエンドでは本当により良い世界を取り戻すことができるのだ、ということが体験できます。これは近年あまり見ない傾向だと思いますが、プレイヤーに新しい希望をくれるシナリオとして最高によくできているのだと思います。
TRUEエンドを経て思ったのですが、脳内麻薬がドバドバ出る感じがします。ただのシナリオゲームでこんなことになると思いませんでした。いいゲームだと思いました。

そんなわけで劇場版の発表があったときには狂喜乱舞したのですが、いざ劇場版を見られるスケジュールがそろったところで同行者について懸念が出ました。
旦那と一緒に映画館に行こうと思ったのですが、旦那はゲーム嫌いだったのを思い出してしまったのです…。
ゲーム一緒にやりたいのにゲーム嫌いと結婚するなよと自分でも思いますけども、時間の無駄と言い切られてマジで返す言葉がない(オンラインゲームで数年棒に振ってる)のでどうしようもありません。
しかしTwitterでちょいと愚痴ったら、哀れに思った旦那がなんとiOSで発表されているシュタインズゲートを予習程度にやってくれるというではありませんか!
旦那と合流する日までまだ時間がありそうだったので、クリスルートとTRUEエンドだけでいいのでやってみてくれ!と頼み込んでみました。

旦那と合流当日、何と旦那がシュタゲマニアになっているではあーりませんか…。(遠い目)
クリス/TRUEエンドどころか全部ルート把握しているではありませんか…。おいどうなったんだと思いましたが、思っていたより面白くてやり込んでしまったとのこと。
ということで予想より進化した旦那と議論まで始まる始末。おいいい加減にしろ。

さて、劇場版ですがオカリンが美形すぎて違和感ありまくりんぐでした
まゆりがあまり出なかった、のは当たり前かと思いますが動くクリスがかわゆくてよかった。しかし秋葉原でまゆりの服めちゃくちゃ浮いてませんか。あと日本の夏にクリスの服めちゃくちゃ浮いてませんか。ブラウスの中に保冷剤とか貼らなくて大丈夫ですか。髪の毛びちょびちょしませんか。
あとフェイリスがあまりでなくてさびしかったです。フェイリスルートが実は一番好きです。
クリスがオカリンのことを思い出せなくなってわーっと声を上げて泣き出すシーンがありましたが、思わずもらい泣きしそうになってしまいました。ツンデレが声を上げて泣くっていうのはよっぽどのことだと思いますのでものすごくかわいそうだったです。あの演出いいと思います(笑顔)
ダルのフォトショのくだりは劇場でも笑いが漏れてましたね。鈴羽ママはあんまり容姿とか気にしていないような雰囲気に受け取ったのですが。
そして鳳凰院に浸るクリスが切なくもかわいい。
また、クリスが雨の中岡部に接触するのは鬼子母神の駅なのですが、自分が元々住んでいた場所なのでとても感激でした。周囲の絵も結構その通りだったかもしれない。

考察等書こうと思っていたのですが、たくさんの考察サイトがあるので大半は控えることとして。
わたしが興味を持ったのは、岡部を取り戻した世界線(すなわち映画のエンディング以後)においてクリスがタイムマシンを制作しなければパラドックスが発生するのではないか?というところです。
鈴羽が現れたのはSG世界線であり、R世界線に移動してしまう岡部を救うためにSG世界線において岡部を失ったクリスが制作したタイムマシンに乗ってきました。
一度目の岡部の消失でクリスは鈴羽のメッセージなしに岡部を思い出さなかったわけですから、恐らくSG世界線のクリスが消えた岡部に気付くのは本来もっと後の話なのだと思います。
その後クリスは未来の自分が制作したタイムマシンを使い、幼い岡部の記憶に割り込みを繰り返します。
R世界線で携帯電話を触っていた岡部がSG世界線に引き戻され、クリスと互いの存在を観測したときに記憶の割り込みを感知しますが、この時点で「岡部の過去にクリスが存在した」という事実が確定しなければこの感知は発動しないのではないか?と思ったのですが。

シュレディンガーの猫の理論のような「岡部がいる」「岡部がいない」という状態を混沌化しているという世界線の説はないようなので、恐らくSG世界線で岡部がいる場合+いない場合、R世界線で岡部がいる場合+いない場合、といったように分岐するのだと解釈しています。
その場合、SG世界線で岡部がいない場合にはクリスによってタイムマシンが制作されました。
R世界線では岡部しかいない状態が描かれていますので、恐らくクリス自体が存在しないものとして影響はないのかもしれません。
その後、SG世界線には岡部が戻るため、クリスによってタイムマシンが制作されないように思えます。
ですが「タイムマシンが制作されないことが確定した」場合には、「岡部の過去にクリスが存在した」という記憶が岡部にもクリスにも存在することがエンディングで確定していますので、この記憶の根拠がタイムマシンの存在に依存しない場合にはパラドックスになると解釈します。
もしくは、クリスが岡部の存在と無関係にタイムマシンを作るのでは?と思いますが。

という話で危うく旦那と喧嘩になりかけましたが、どうも下記のまとめ内ではパラドックス(あるいは以前のシナリオの不備)と指摘されているようなので考えるのをやめておきました。
確かにタイムマシンを使ったのにSG世界線に変動なし、はダメなのかもしれない…。

劇場版『STEINS;GATE 負荷領域のデジャヴ』感想まとめ。クリスティーナの可愛さが異常すぎるだろ!!

90分ではかなり押し殺した感じのシナリオでした。
せめて120分欲しい。最期が駆け足過ぎる。

しかし池袋はドクペのペットボトル完備してるのに来場者プレゼントはなしかよ!(なくなっちゃったらしい)
しかもなしかよ!と思った次の週には次回プレゼント発表になって涙目だよ!と荒れていました。
パンフレットは入手したのですが、わたしよりのめりこんだ旦那が電車で読んだりしてある意味大変でした。

さて、ゲームのほうですがPSP版が出るまで待つつもりです。
何故かというとすぐ積んでしまうから…。
しかしシュタゲは補完が欲しすぎて小説から何から知りたくなってしまって大変ですね。