SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
Android Dev
Tools Knowledge
DroidKaig 2016
About Me
Shinobu Okano
@operandoOS
Mercari, Inc.
shinobu.apk
http://hack-it-iron.hatenablog.com/entry/
2016/02/08/142322
shinobu.apk #1 のパネルディスカッション
録音データとShow Notesを公開しました!
まったりAndroid Framework Code Reading
http://hack-it-iron.hatenablog.com/entry/
2015/11/28/185529
まったりAndroid Framework
Code Reading #2 を開催しました
はじめに
• 標準のDev Toolの話は少なめかも
• 色んなツールがあることを知ってほしい
• さらにいいツールを作ってほしい
• 俺も頑張る(๑•̀ㅂ•́)‫✧و‬
• 知ってて使わないのと、知らないで使わないのは違う
• 機会の損失
便利なコマンド
※Nexus 5 -version 6.0で動作確認!
マシュマロマシュマロ!!
adb
簡単にadbの環境を用意する
簡単にadbの環境を用意する
brew install android-sdk
まずは
adbの使いやすさを向上させる
adb-peco
adb-peco
• 複数のAndroid端末を同時繋いでる時に便利
• adb-peco
• alias adb='adbp'
• https://github.com/tomorrowkey/adb-peco
感謝っ・・・・!
圧倒的感謝っ・・・・!
※絵は出せません
adb-peco
• 複数のAndroid端末を同時につないで困ってま
せんか?それadb-pecoで選択できるよ!
• http://techlife.cookpad.com/entry/
2014/09/09/172449
input text
• 入力が楽にできる
• スマホのキーボードで入力するとかないわー
• adb shell input text droidkaigi
dumpsys
• dump system services status
• adb shell dumpsys | grep "DUMP OF SERVICE"
dumpsys activity
• Activityの状態をDumpできる
dumpsys activity
• adb shell dumpsys activity top
• adb shell dumpsys activity | grep -B 1 "Run #[0-9]*:"
• adb shell dumpsys activity activities | grep apk
Settings
• 設定にどんな値が入っているか確認できる
• adb shell settings list [system/global/secure]
screenrecord
• 画面録画機能
• adb shell screenrecord /sdcard/launch.mp4
• adb shell screenrecord --bugreport /sdcard/launch.mp4
• adb pull /sdcard/launch.mp4
Systrace
The Systrace tool helps analyze the
performance of your application by
capturing and displaying execution times
of your applications processes and other
Android system processes
Systrace
• generate an HTML report
• http://developer.android.com/intl/ja/tools/
help/systrace.html
Systrace
• python systrace.py
• /sdk/platform-tools/systrace
Analyzing UI Performance
with Systrace
• Analyzing UI Performance with Systrace
• http://developer.android.com/tools/
debugging/systrace.html
atrace
• atrace = Android System Trace
• adb shell atrace --list_categories
atrace
• adb shell atrace --async_start -a
com.kouzoh.mercari -c -b 16000 res
• adb shell atrace --async_stop -a
com.kouzoh.mercari -c -b 16000 res
atrace source code
http://tools.oesf.biz/android-6.0.0_r1.0/xref/
frameworks/native/cmds/atrace/atrace.cpp
adb / adb shell
etc.
それで50分話せるくらい...
正直、話そうと思ったら
無限にあるのね...
Android-Command-Note
https://github.com/operando/
Android-Command-Note
AndroidShell
https://github.com/cesards/
AndroidShell
Gradle plugin
dexcount-gradle-plugin
• 名前そのまま
• メソッド名数えてくれる
• https://github.com/KeepSafe/dexcount-
gradle-plugin
gradle-versions-plugin
• 使っているライブラリに新しいバージョンが
あるかどうかをチェックできる
• dependencyUpdates
• https://github.com/ben-manes/gradle-
versions-plugin
build-time-tracker-plugin
• build時間をトラックしてくれる
• https://github.com/passy/build-time-tracker-
plugin
gradle-slack-plugin
• タスクが終わったらSlackに通知してくれる
• https://github.com/Mindera/gradle-slack-
plugin
gradle-android-command-
plugin
• gradle-android-command-plugin
• https://github.com/novoda/gradle-android-
command-plugin
gradle-android-ribbonizer-
plugin
• gradle-android-ribbonizer-plugin
• https://github.com/gfx/gradle-android-
ribbonizer-plugin
Android Studio Plugin
AndroidWiFiADB
• AndroidWiFiADB
• https://github.com/pedrovgs/AndroidWiFiADB
ADB Idea
• ADB Idea
• https://github.com/pbreault/adb-idea
Android-DPI-Calculator
• Android-DPI-Calculator
• https://github.com/JerzyPuchalski/Android-
DPI-Calculator
android-parcelable-intellij-plugin
• android-parcelable-intellij-plugin
• https://github.com/mcharmas/android-
parcelable-intellij-plugin
AdbCommander for Android
• AdbCommander for Android
• https://plugins.jetbrains.com/plugin/7578
Genymotion Plugin
• Genymotion Plugin
• https://plugins.jetbrains.com/plugin/7269
eventbus-intellij-plugin
• eventbus-intellij-plugin
• https://github.com/kgmyshin/eventbus-
intellij-plugin
eventbus3-intellij-plugin
• eventbus3-intellij-plugin
• https://github.com/kgmyshin/eventbus3-
intellij-plugin
android-postfix-plugin
• android-postfix-plugin
• https://github.com/takahirom/android-
postfix-plugin
Android File Grouping Plugin
• Android File Grouping Plugin
• https://github.com/dmytrodanylyk/folding-
plugin
GsonFormat(おまけ)
• GsonFormat
• https://github.com/zzz40500/GsonFormat
Android Studio
おまけ
Google Developers color scheme
• Google Developers color scheme
• https://github.com/LouisCAD/
GoogleDevelopersColorScheme
その他開発で便利なツール
androidtool-mac
• androidtool-mac
• https://github.com/mortenjust/androidtool-
mac
tonkotsu
• tonkotsu
• https://github.com/operando/tonkotsu
• http://www.slideshare.net/shinobuokano7/
ss-52089397
vysor
• vysor
• https://chrome.google.com/webstore/detail/
vysor-beta/
gidgenkbbabolejbgbpnhbimgjbffefm
Android SDK Search
• Android SDK Search
• https://chrome.google.com/webstore/detail/
android-sdk-search/
hgcbffeicehlpmgmnhnkjbjoldkfhoin
DPI Calculator
• DPI Calculator
• https://chrome.google.com/webstore/detail/
dpi-calculator/
dldofgjemhkpilajnlenfijjpkabilcg
• http://jennift.com/dpical.html
Android Resource Navigator
• Android Resource Navigator
• https://chrome.google.com/webstore/detail/
android-resource-navigato/
agoomkionjjbejegcejiefodgbckeebo
Material Terminal
• Material Terminal
• https://play.google.com/store/apps/details?
id=yarolegovich.materialterminal
materialdoc.com
• materialdoc.com
• https://play.google.com/store/apps/details?
id=com.materialdoc
• http://www.materialdoc.com/
• Material Design化する時に便利!!
DesignOverlay
• DesignOverlay
• https://github.com/Manabu-GT/DesignOverlay-
Android
• https://play.google.com/store/apps/details?
id=com.ms_square.android.design.overlay
• Material Design化する時に便利!!
• やばい!神!
デバッグに便利なライブラリ
stetho
• stetho
• https://github.com/facebook/stetho
ViewDebug
• Viewの中身をLogで確認できるViewDebugの
dumpCapturedViewが便利
• http://developer.android.com/intl/ja/
reference/android/view/ViewDebug.html
KLog
• KLog
• timberでも同じことできる??
• https://github.com/ZhaoKaiQiang/KLog
IntentLogger
• IntentLogger
• 普通に便利(笑)
• https://github.com/Drivemode/IntentLogge
どこで情報を集めるのか?
• コードを読む
• Google+
• Twitter
• Github
• などなど….
まとめ
Thanks!!

Más contenido relacionado

La actualidad más candente

Yapf2013
Yapf2013Yapf2013
Yapf2013
l_b__
 

La actualidad más candente (20)

絶対落ちないアプリの作り方
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
 
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクルあるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
 
ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法ネットワークの切り替えを感知する方法
ネットワークの切り替えを感知する方法
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
 
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
 
Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Androidアプリのストレージ戦略
Androidアプリのストレージ戦略
 
Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
 
【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121
【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121
【ヒカ☆ラボ】 dely株式会社 梅森 翔氏 登壇資料 20171121
 
Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有Android学ぶを君へ。生き抜くためのナレッジ共有
Android学ぶを君へ。生き抜くためのナレッジ共有
 
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
 
Android Studio開発講座
Android Studio開発講座Android Studio開発講座
Android Studio開発講座
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?What is tested by pre-launch (security) reports?
What is tested by pre-launch (security) reports?
 
Android 6.0 Marshmallow App Permissions 実践編
Android 6.0 Marshmallow App Permissions 実践編Android 6.0 Marshmallow App Permissions 実践編
Android 6.0 Marshmallow App Permissions 実践編
 
Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)Androidのリカバリシステム (Androidのシステムアップデート)
Androidのリカバリシステム (Androidのシステムアップデート)
 
Androidアプリケーション開発入門
Androidアプリケーション開発入門Androidアプリケーション開発入門
Androidアプリケーション開発入門
 
Yapf2013
Yapf2013Yapf2013
Yapf2013
 

Similar a Android Dev Tools Knowledge

DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
 
Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)
Yoshi Sakai
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
Yasukazu Kawasaki
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
shobomaru
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
Hiroshi Bunya
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
tamtam180
 

Similar a Android Dev Tools Knowledge (20)

DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
普段の開発を少しだけ便利にする3つのレシピ
普段の開発を少しだけ便利にする3つのレシピ普段の開発を少しだけ便利にする3つのレシピ
普段の開発を少しだけ便利にする3つのレシピ
 
コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話コマンドなしでぼくはAndroid開発できない話
コマンドなしでぼくはAndroid開発できない話
 
Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)Rhodes mobile Framework (Japanese)
Rhodes mobile Framework (Japanese)
 
Pythonで検索エンジン2
Pythonで検索エンジン2Pythonで検索エンジン2
Pythonで検索エンジン2
 
Andoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かすAndoird版OpenCVのJavaサンプルを動かす
Andoird版OpenCVのJavaサンプルを動かす
 
Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介Shinjuku.rs #14 userland-ioの紹介
Shinjuku.rs #14 userland-ioの紹介
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
Introduction of Rhodes
Introduction of RhodesIntroduction of Rhodes
Introduction of Rhodes
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
 
OSC Kansai@Kyoto
OSC Kansai@KyotoOSC Kansai@Kyoto
OSC Kansai@Kyoto
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
Inside Android N
Inside Android NInside Android N
Inside Android N
 

Más de Shinobu Okano

Más de Shinobu Okano (20)

OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
 
Kotlinでマッチョする話
Kotlinでマッチョする話Kotlinでマッチョする話
Kotlinでマッチョする話
 
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2
 
まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
 
shinobu.apk #3
shinobu.apk #3shinobu.apk #3
shinobu.apk #3
 
Android + JSON-RPC
Android + JSON-RPCAndroid + JSON-RPC
Android + JSON-RPC
 
Gradle PluginとCIと俺
Gradle PluginとCIと俺Gradle PluginとCIと俺
Gradle PluginとCIと俺
 
shinobu.apk #2
shinobu.apk #2shinobu.apk #2
shinobu.apk #2
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3
 
Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
 
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
 
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
 
ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来
 
shinobu.apk #1
shinobu.apk #1shinobu.apk #1
shinobu.apk #1
 
ChromeとAndroidの 過去・現在・未来 ver 0.1
ChromeとAndroidの 過去・現在・未来  ver 0.1ChromeとAndroidの 過去・現在・未来  ver 0.1
ChromeとAndroidの 過去・現在・未来 ver 0.1
 
5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術
 
Logcatの話
Logcatの話Logcatの話
Logcatの話
 
GarumとMeteoriteと私 3nd Edition ver0.04
GarumとMeteoriteと私 3nd Edition ver0.04GarumとMeteoriteと私 3nd Edition ver0.04
GarumとMeteoriteと私 3nd Edition ver0.04
 

Último

Último (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Android Dev Tools Knowledge