DroidKaigi2019アプリの開発環境導入奮闘記
はじめに
あまりにもDroidKaigiのアプリをAndroidStudioに入れたらエラーを吐きまくって途中からブログのネタにしてやろうと思ったので書きました
(ブログ書くの久しぶり)
ちょっと文章長くなってしまいましたが技術的なやつではあまり無いのと思うので、あくまで読み物な軽い感じで読んでもらえるとありがたいですm(__)m
大学生ですよ。
読んでもらえるとエラーに奮闘する中の人が見られます
(実質2日間で動きました)
経緯
DroidKaigiのアプリがGithubで公開された!と思ってたのですが、1月はバタバタ(主に卒研発表準備)してたのでそれを横目にようやく時間が取れたのが1月30日。
DroidKaigiまであと1週間。
「DroidKaigiもうすぐだけど実行ぐらいさせてみるかー」
とやる気満々ながら実行ぐらいならすぐにできるだろうなと思ってました。
本当に。
この時までは。
Githubでフォークしてクローンで持ってきた
言葉通りフォークしてクローンしてきました。
環境はWindowsでAndroidStudioです。
今使ってるAndroidStudioのバージョンが3.2だったので、
ついでに現在のStable版3.3をダウンロードする。
(この時はまだDroidKaigiのアプリの開発環境が3.4に変わっていたことを知らない)
何かわからないけどエラーを吐くAndroidStudioさん。
ぶわぁーっと出るエラーによく見るいつもの赤字。
そもそもRunできない
→ buildのバージョン違う? (結果的にこれは勘違いだった)
Kotlin最新版するっていうのをこの前Twitterで見かけた(記憶だより)
→ とりあえず最新版にする。
とかやっていく。
そういやちゃんとエラー見てなかったとここで思う(遅い)
↑AndroidStudio3.4にしてね(てへぺr)
PCを投げそうになる
(投げてないです。Twitterには投げた。)
DroidKaigiのアプリCloneしたらAndroidStudio3.4にしろと言われてしまった
— くまねこ (@robocg8327) January 30, 2019
調べていくと、ちょっと前に3.4に変わったよっていう記述が…
仕方ないと、3.4Beta 3を入れようとサイトに飛ぶと
なぜかダウンロードできませんと言われる。
(今は直ってるっぽいけどこの時3.3 Canary13が最新)
→後から思えばこれStableのバージョン
現在進行形内容だったのでTwitterで調べる
→ 英語サイトならいけるっぽい?
→ 見たけどサーバーエラーっぽい文字列でなんか無理っぽい。(今は直ってる)
もう一度Twitterで調べる
→ Android Studio download archivesでダウンロードできるっぽい?
ここでこれまでのやつもダウンロードできるみたいです↓
「おおおっ、できるっ!」
ダウンロードしてこの日は終了(ダウンロード時間長い)
この時点で結構疲れてる。
(まだ動かない)
別の日(数日後の2/3というか書いてる時点で昨日)
AndoidStudioの3.4をzip解凍するところから始まる。
一応3.5があるので確認してみたけれど、動作はできないらしいので3.4で進める。
解凍さえしてしまえばそのまま実行するだけ
「おー黄色だー」
明らかに違うのが実行が通り始めて急激に実行中に重くなるPC
そしてまたしても通らないコード
吐く大量のエラーは赤い
Cause: java.lang.IllegalStateException
「なんかわからないエラーだなぁ」
ネット検索で調べる
→ JavaかKotlinのエラーかなぁ?でもなんか違うなぁ環境だろうなぁ
Twitterで調べる
→InstantRun有効にしてない?無効にするってREADME書いてるよ
→「これだあああ!!!」
ここでREADME読み直す。
「マジで書いてる…」(当たり前)
ここで説明書を読まずにゲーム始めた時の気持ちになる
Kotlinのことも書いていたのでPlugin最新版かもう一度確認する(気休め)
もう一度Runする。そして長い実行時間。
この間にREADME読んでみる
「Fluxよな。なるほどな。Fluxちゃんと実装されてるのコード初めて見た」
「おおおー動いた動いてる(実機の起動画面を見ながら)」
・・・
・・・
・・・
「なんでやねん」
またエラー(もう何度目か忘れた)
「疲れた」
とは言ったもののエラーを読む
「なんかmodelって書いてるやつのimport全くされてないな。コードエラーかな?」
ここで初めてのコードエラーに捕まる
「中身無いな、なんでだろう?」
Twitterで " DroidKaigi model " で検索する。
→ setting.gradleのioscombinedをコメントアウトしたら一応解消する的なこと書いてある。
→「なるほど」と、Issueも読む
→ master上がってるよ
→「じゃあマスター更新するか」
で、Githubの更新して取り込み
もう一度Run
またしてもエラー
ここで完全に迷走し始める。
多少warningが出てるぐらいでコード読んでも、ビルドの設定を少しいじっても、原因がわからなくなる。
ここでちょっと自分の中でお手上げ感が出てくる
Isuueのそれっぽいものを片っ端から見ていく。
「なんかこれっぽい」
モデルのImportが反映されない問題
→ 普通にローカルから開けばいいんだな
普通にOpenで開く。
そういや実機のWifiをOFFだった
→ ONにする(気休め)
Run押す(実行時間長い)
ここで実行したままご飯を食べにPCから離れる。
戻ってきたときに
「動いてるー!」
DroidKaigiのアプリ綺麗にクローンから実行までに起こるエラーを踏んでいってやっと動いた
— くまねこ (@robocg8327) February 3, 2019
本当に綺麗に全部エラー踏んでいきました(疲れた)
これでやっとコードが読めると思ったDoridKaigi3日前。
おわりに
たぶん入れたタイミングが悪かった感じもありましたが、大体解決されてるのを後から追って行った感じです。
これDroidKaigi2019のアプリ動かすまでの話ですからね。
プルリク送った話じゃないですからね。
コード一行も書いてないですからね。
ずっとAndroid Gradle Pluginのwarningが消えずに試してみてたのですが、
これwarningであって別に実行するだけならほっといていいんじゃないかと途中で脇に置きました。
多少ここで時間食った部分あったのですが動くのが目標だったのでとりあえずよしということで。
これからコード読んでいきます
既にちょっとは読んでるんですけどね
今年は行けないと思っていたDroidKaigi2019にスカラシップで行けるので楽しみです
droidkaigi行けるっぽいです。ありがたいですm(_ _)m
— くまねこ (@robocg8327) December 17, 2018
---
くまねこ