APKのサイズを34KBから21KBまで減らすために行ったこと🐱
EasterEgg Neko Atsume LauncherのAPKサイズを極限まで小さくすることに取り組んだ成果を適当に書いておく。
EasterEgg Neko Atsume Launcherがそもそもなんだ??って話だろうけど、以下とか読めばOK。
どのようにAPKのサイズを小さくしたか
コードはGithub上に公開してある。読むほどの価値はない...🐱
具体的にAPKサイズのチューニングを行ったPull Requestは以下の2つ。
不要なリソースファイルを削除する
EasterEgg Neko Atsume Launcherはアプリの性質上、ほとんどリソースを必要としない。
R.javaさえ消し去りたいくらいだ。
styles.xmlはいらないね。テーマの定義なんてAndroidManifest.xmlに直接書けばいい。さらば、styles.xml。
次はstrings.xml、いらないね。アプリ名なんてAndroidManifest.xmlに直接書けばいい。さらば、strings.xml。
これでres配下はアプリアイコンが配置してあるmipmapだけになった。
不要なリソースの削除はココらへんが限界。(mipmap-mdpiとか消してよくね?とかもあるけど、そこは消さずに残す縛り
アプリアイコンを最適化(optimize)する
不要なリソースファイルを消したところで削れるのは所詮 数十 〜 百 byteほどだ。
ということでアプリ唯一のリソースであるアプリアイコンを最適化してみよう。
使うツールは画像最適化ツールの「ImageOptim」。
ImageOptim — better Save for Web
使い方が簡単なのでとても嬉しい。ファイルをDropするだけで最適化してくれて、どれくらい最適化できてのかも表示してくれる。
んで、ImageOptimにアプリアイコンをDropして最適化してみる。
アプリアイコンが 30%くらい最適化された。素晴らしい!
ImageOptimでもうひと押し最適化する
ImageOptimのメニューバーの「ツール」を開いてみると最適化の方式が選べることに気づいた。
「品質: 100%」というのがデフォルトの設定みたい。最適化しても品質は落ちさないというのは当たり前か。
んじゃ、その下にある「非可逆圧縮」の動作に変えて再度アプリアイコンを最適化してみた。
画像のサイズは小さくなるが、画像の品質が落ちるので適材適所ではあるが、ここは心を鬼にしてAPKのサイズを小さくすることに優先するぞ!
ぐぬぬ...🐱よ... ちょっと品質落ちるけどごめんなー!!という気持ち...
その結果、Release APKのサイズが21KBになった!!
最適化前のVersion 1のRelease APKのサイズが 34KBだったので、 34 - 21 = 13KBの削減だ。
最高だ🐱!!
21KBになったVersion 2のAPKをリリース
最高のアップデートだ🐱
まとめ
アプリの性質によってはリリースを限界まで削減できる。
コードをいじったり、削除したりで限界がきたら画像をImageOptim等で最適化してみるといい。
🐱最高!!
Androidについて語る! shinobu.apk #3 を10/5 (水)に開催します! #shinobuapk
はい、タイトルどおりshinobu.apk #3を開催するんですよ!!やたー(/・ω・)/やたー(/・ω・)/やたー(/・ω・)/
shinobu.apk #3のイベントページになります!
開催日は 10/5 (水) 19:30からメルカリのオフィスにて行います。
興味があればぜひぜひ参加登録していただけると嬉しいです!!
そもそも shinobu.apkってなんぞ??
shinobu.apkは、Shinobu Okano(この記事書いてる本人)と愉快な仲間たちが繰り広げるファンタジーな勉強会です。
shibuya.apkという、渋谷を中心に活動するAndroidアプリ開発者コミュニティの名前をtypoしたことによって生まれたものです。
真面目に言うと、有志を募ってAndroidについてパネルディスカッションをする勉強会です。
という感じで、真面目だけどゆるふわな感じでAndroidについてパネルディスカッションする勉強会です!
shinobu.apkがどんな雰囲気のものなのかを知りたい場合は、shinobu.apk #1、#2のディスカッション内容の録音データやまとめ記事を書いていますので、こちらをご参照してください。
shinobu.apk #1では「Androidで今起きている変化と今後のAndroidにどんなことを思っているのか、願っているのか」、#2では「個人でもAndroidアプリを開発している人に聞きたい開発事情、個人アプリ開発に思うこと」をメインテーマにディスカッションしました。
shinobu.apk #3
shinobu.apk #3では「Androidエンジニアが語るAndroidのいいところ、好きなところ、オススメなところ」をメインテーマにディスカッションします!
これまでのshinobu.apkと同様で、当日のパネルディスカッションの内容は録音して後日公開する予定です。
上記をメインテーマとしてshinobu.apk #3では日々Androidと戯れ、Androidをこよなく愛する??3名の方々にパネルディスカッションしていただきます!
パネリストを引き受けていただいた方々圧倒的感謝です!!
shinobu.apk #3 パネリストの紹介
@muumuumuumuu
Androidの光と闇について語るのが好きなエンジニア。
あるいはビールをこよなく愛する人妻。
Android Nの🐱アプリかわいい。
@named_arguments
Androidアプリ開発が好きな霊長類。
好きなMockitoの定数はRETURNS_DEEP_STUBS。好きなポケモンはヤドン。
DozeはAndroidのServiceの自由を奪うと考えている電源消費推進派。
@wakwak3125
ちょっと前まで家具屋で「いらっしゃいませ」と言うことを生業としていたエンジニア
やきとりとビールが大好きです。
NougatがOTAで降ってこないので悲しんでいます。
モデレーター
私(@operandoOS)がやらせていただきます。
メインテーマの理由
なぜshinobu.apk #3では「Androidエンジニアが語るAndroidのいいところ、好きなところ、オススメなところ」をメインテーマにしたかといいますと...
正直毎回そうなんですが...私が話を聞きたい人を集めたというのもあります!が...
自分が知らない、または聴いていただける方々がまだ知らないAndroidの良さを語り合えたらいいなーと思うわけです。
さらに、Androidのいいところや好きなところを語り合って、パネリストも聴いていただける方々もAndroidにさらに好きになってくれたら嬉しいなーとも思うわけです!
「iPhone 7?? iOS 10?? そんなことよりAndroidだろ!Android Nだろ!」みたいな意気込みでディスカッションしていきたいですね!!
Androidのいいところについて語り合うためにも「Androidエンジニアが3人集まると、辛いって話をする(笑)」みたいなことにならないようにモデレーター頑張ります 💪
まとめ
shinobu.apk #3に少しでも興味がある方はぜひぜひ当日勉強会に参加していただけると非常に嬉しいです!!
もし参加できなくても、後日公開予定のパネルディスカッションの録音を聴いたりしていただけるだけでも嬉しいです!!
shinobu.apk #3もゆるく楽しく面白いディスカッションにしたいと思います!!
また、Androidエンジニアに限らずもっと色んなエンジニアさん達とAndroidについて色んな視点からディスカッションしたいと思ってますので、「Androidに物申したい!」という方がいらっしゃいましたら、ぜひぜひ私(@operandoOS)にお声がけいただけると嬉しいです!!
2016年 ぱないー まとめ(9/19時点
ハニーチュロとエンゼルクリーム率が高い...なるほど...
画像解析に使えるかも...w
ぱないのー pic.twitter.com/AyprkxN547
— shinobu.apk (@operandoOS) 2016年9月19日
ぱないのー🍩 pic.twitter.com/KLxEcCFjQi
— shinobu.apk (@operandoOS) 2016年9月4日
ぱないのー pic.twitter.com/VCQdA7r1xT
— shinobu.apk (@operandoOS) 2016年8月13日
ぱないのー pic.twitter.com/hnC120jKSk
— shinobu.apk (@operandoOS) 2016年7月29日
ぱないのー pic.twitter.com/zR4G7eco6w
— shinobu.apk (@operandoOS) 2016年7月3日
ぱないのー pic.twitter.com/rUkaXbpAOk
— shinobu.apk (@operandoOS) 2016年6月25日
ぱないのー pic.twitter.com/HnyYLxyG9I
— shinobu.apk (@operandoOS) 2016年6月18日
ぱないのー pic.twitter.com/CNgHL3ZkOL
— shinobu.apk (@operandoOS) 2016年5月7日
ぱないのー pic.twitter.com/y9Zc9BBFTS
— shinobu.apk (@operandoOS) 2016年4月29日
ぱないのー pic.twitter.com/qnBfxx0MLH
— shinobu.apk (@operandoOS) 2016年4月16日
ぱないのー pic.twitter.com/djlVYX10l9
— shinobu.apk (@operandoOS) 2016年3月27日
ぱないのー pic.twitter.com/dC7aMjXAFF
— shinobu.apk (@operandoOS) 2016年3月13日
ぱないのー pic.twitter.com/Egriq9iW2K
— shinobu.apk (@operandoOS) 2016年2月28日
ぱないのー pic.twitter.com/1cS6purPxP
— shinobu.apk (@operandoOS) 2016年2月27日
ぱないのー pic.twitter.com/fqOtRPe1lL
— shinobu.apk (@operandoOS) 2016年2月7日
ぱないの! pic.twitter.com/ddaa2DhGQh
— shinobu.apk (@operandoOS) 2016年1月28日
10年ぶりに東京ゲームショウ 2016行ってきたので雑な感想
中学生ぐらいの時に行ったのが最後だから、多分10年ぶりぐらいになる。確かPS 3が発売されるとかそんな時期だった。
最近またゲームをちょっとずつやるようになったし、VR系も気になったので久々に行ってみた。
色んなものを見て色々考えさせられたし、すごく楽しかったので書きたいことはいっぱいあってまとめられない...wけど雑にまとめ!
http://expo.nikkeibp.co.jp/tgs/2016/public/index.html
エンジニアになったからこそわかるブースが増えた
当たり前だけど中学生の頃なんて大手ゲームメーカーしか知らないガキだったわけで...
さらにITの世界に入ったからこそ「え!?PayPalがブース出してる!?」とか「Intelもブース出してるのかー」とか新鮮な感じだった。
考えてみればPayPalなんかは例えばPlayStation Storeの決済で使えたり、色んなゲームプラットフォームの決済に絡んでいるわけだ。
そう考えるとやっぱりゲームの世界はただゲームを作るだけじゃないなーと改めて思うわけです。
深い。
TwitchのブースでやってたLeague of Legends面白そうだった
ライブストリーミング配信プラットフォームのTwitchのブースでプロゲーマーとかによるLeague of Legendsというゲームのトーナメントがやってた。
ニコ生とかもそうだけどライブでゲーム実況とかってめっちゃ面白いんだよねー。
自分がプレイしてないんだけど、すげー楽しめるという不思議な感じなんだよねー。
League of Legendsそのものを知らなかったけどめっちゃ見てるの面白かった。
解説とか帰ってきてTwitchでLeague of Legendsの実況配信見てると、グループ戦が多い?っぽいが、ブースでは 1 on 1でやってたので、そこがまたすげー面白かった。
eスポーツ面白い!という方々の気持ちがすごく理解できたのでちょっとeスポーツ友達欲しいw
Twitch以外のブースでもeスポーツのトーナメントとかやっててゲーム自体は知らないけど楽しめたので満足。
色んなVRが出ていた
見たことのないVRヘッドセットがなんかいっぱい出てた気がする。
PlayStation VRはやっぱり人気だったので試せなかったよー。
早くBIOHAZARD 7をPlayStation VRでやりたい!!
まとめ
やっぱりゲームってすごいなーいいなーということを思い出させてくれるいい一日だった。来年も行こうと思う。
ゲームを作りたい!ゲームの仕事がしたい!って数年前まで全く思わなかったけど、やっぱりゲームが好きだからゲーム業界はちょっと憧れる。
もちろん簡単な業界ではないが、自分が楽しんできたものや業界には貢献したい!って気持ちがあるので、何か機会があれば関わってみたい!と思う。
あと、プロゲーマー達のプレイを見てるとすごく楽しいので、見ている側にワクワク感やドキドキ感や楽しんでもらえる感覚を与えることができる仕事もいいなーと思う。
とにかくプロゲーマーはすごいし、憧れる。
ゲームは楽しい!!
念願の夢だったクソアプリ EasterEgg Neko Atsume Launcherをリリースしました🐱
こ、これで俺も...ついに...個人アプリ開発者...だぜ?
そうです、ついに!念願の夢だったクソアプリをリリースできました
EasterEgg Neko Atsume Launcher です!
だいたいこんな感じのアプリです
なんだそれ?
Android NのEasterEggである ねこあつめもどきの一覧画面をランチャーアイコンで簡単に起動できるアプリだよー
詳しい説明は以下の記事とか読むとわかるよ
とにかく説明は省くけど、集めたの一覧画面が簡単に起動できるんだよー
アプリのサイズなんと 34KB!?
めっちゃアプリのサイズ軽い
すごいぞ
minSdkVersion 24の世界!?
そしてこのアプリ minSdkVersion 24ですよ
最新のAPI使いたい放題ですよ (誰もアプリの中で使ってるとは言ってない
あ、そう minSdkVersion 24なのでAndroid N以上しかインストールできないアプリです
Githubにコード置いてあるよ
Githubにアプリのコード置いてあります
まとめ
Android Nはいいぞ