Unyablog.

のにれんのブログ

Android

This AVD's configuration is missing a kernel file! Please ensure the file "kernel-qemu" is in the same location as your system image.

久しぶりに Android Studio を立ち上げて、公式エミュレータを作って立てたらこの事象に遭遇して立ち上がらなかった。x86_64 だとエミュレーターは立ち上がるが、画面がブラックアウトし、 resizing partition e2fsck failed with exit code 8 とログには出…

Mackerel Agent for Android

この記事は Mackerel アドベントカレンダー 21 日目の記事です。 qiita.com Mackerel について Mackerel とはサーバーを監視するサービスで、Slack などとの連携が便利だったりグラフが美しかったりと良いサービスです。 Mackerel にデータを送るためのサー…

Android Studio をビルドする

この記事は KMC アドベントカレンダー 4日目の記事です。自分は5日目だと思っていてのんびりしてました… :bow: :bow: www.adventar.org 昨日は id:nojima718 さんの nojima.hatenablog.com でした! 本題 今回は Android Studio をビルドしてみます。 大体こ…

Android の df コマンドについて

最近 Android 用の mackerel-agent を作ろうとしていて、Android の /proc/meminfo を読んだりしていたのですが、 filesystem の metrics は df -P コマンドを使っていました。*1 Android にも df コマンドは存在していたのでパースしようとしたのですが、バ…

RecyclerView で Drag と Swipe をサクッと実装

RecyclerView で並び換えや項目の消去をする UI を作成するには、ItemTouchHelper を用いると非常に楽です。 これを使うと、 長押しからの移動で並び替え スワイプで消去をする といった処理を行えます。 Kotlin での実装 val helper = ItemTouchHelper(obje…

Android Layout XML の名前空間はルート要素に定義する

たまに DataBinding を使うのですが、例えば TextView に tools:text を指定してレイアウトのプレビューを試みても上手くできないことがあって困っていました。 例えば、適当に <layout> </layout>

画像取得ライブラリの Glide 使ってみた

Android で画像を表示する際、 URL からいい感じにキャッシュしていい感じに表示してくれるライブラリはいくつかあります。 有名所だと Picasso Square のライブラリ Glide 元BumpTech のライブラリ (Google のプロダクトでも使われているらしい) Fresco*1 F…

Android Studioでのビルドをクラウドで行い開発を高速化する

こんにちは。学校も始まり最近は健康な時間に起きています*1。 今回は 手元の Android Studio からビルドのみをクラウドで行う ことによって快適な生活を手に入れる話です。 概要 ビルドを移譲できる Android Sutudio のプラグインを書きました これを使って…

クラウドの Linux 上で Android Studio をリモート操作するネタ

※実用性はほぼありません。 Andorid のビルドが最近遅くて、ブラウザで動画流しながら StackOverflow 調べながら twitter 流しながら…とやっているとすぐに mac がファンファンなりだして音声は途切れるわ熱くなるわという状態になります メモリ 8GB だし、…

iOS / Android アプリ作成入門スライドを公開しました

自分の所属している京大マイコンクラブ (KMC) では毎年3月に春合宿を行っており、60分ほど講座を行います。 今年は iOSアプリ作成入門 を行いました。 speakerdeck.com また、書いたけど没になった Android 編も公開しました。 speakerdeck.com

CircleCI で Android Library Project を GitHub Pages にデプロイ

こんにちは。最近 build.gradle をゴニョゴニョするのに慣れてきました。 ここ数日、 PhotoLinkViewer をモジュール分けしたいなーと思って一部分を切り離しました。 切り離したものは他のアプリでも使いたいので、プロジェクトとして独立させることにしてい…

Android 6.0 がおかしいと思ったらバージョンが古かった

marshmallow のつづりが未だに覚えられないです。 原因わかったので追記しました。 症状(preview 3 で確認されていた症状) さて、自分の作っている PhotoLinkViewer には「他のブラウザで開く」機能があります。例えば画像の開くアプリで PhotoLinkViewer …

Android Studio 2.0 preview で Instant Run を使ったら最高だった

この記事は KMC アドベントカレンダー 1日目 の記事です。 さて、先日 Android Dev Summit で Android Studio 2.0 (以下 AS 2.0) が発表されましたね。この会自体は結構前から告知されていたのですがまさかこんな機能が来るとは思っていませんでした。 Andro…

Android の CI テストがたまに落ちるので戦った

前々回と前回の記事です。 結局 travis でも CircleCI でも確率的に落ちるじゃん的な話でした。 travis だと 1/2、 CircleCI だと 1/4 ぐらいで落ちてしまいます。さすがにこれだけ落ちると鬱陶しいのでなんとか直したいところ。 ということで直すために頑張…

circleCI で Android アプリのテストをする (travis から移行)

前回の記事です。 circleCI に移行する 前回の記事でまあうまく行ったのですが結構な確率で落ちる。masterが進んでるわけではないのに pr と pull で違う結果になったり、 merge すると落ちたりしていました。 いろいろやってみたのですが結局不安定なまま変…

travis で Android (Kotlin 付き) のテストをするときにしたことのメモ

自分の作ってるアプリにテスト書いてtravisでやってくれるようにした話です。 テスト 長らくテスト全く書かずにしてきたのですがいい加減そろそろテスト書かないとなあと思ったのでテストをシュババっと書きました。*1 とりあえず gradle にシュッとそれっぽ…

kotlin 1.0 beta candidate に上げて戻した話 (betaで解決)

先日 kotlin の 1.0 beta がリリースされました。 AndroidStudio を立ち上げるとアップデートできるよ!と言われたので早速アップデートして 1.0 beta を入れてみました。 リストに [index] でアクセスできたり static 関係の java との融和性が上がったりし…

pom.xml なプロジェクトをAndroid Library にして IDE に読ませる

picasso で resize できるの便利なのですが、resize したときに callback がしたいと思ったので fork した ものを AndroidStudio で頑張って読み込ませた話です。 picasso には build.gradle がなく pom.xml 的なアレ。なのでこのままだと AndroidStudio で…

Android で http / https 間のリダイレクト結果を OkHttp で取得する

Android で DefaultHttpClient が deprecated になって久しく、デフォルトだと HttpURLConnection を使うことになりました。 HttpURLConnection は http と https 間のリダイレクトを行わないというポリシーがあるらしく、リダイレクトした場合処理を行いま…