Android SDK Toolsのおさらい

34
Android SDK Toolsのおさらい tomorrowkey 2013-11-13 #potatotips potatotips 1 · potatotips/potatotips Wiki https://github. com/potatotips/potatotips/wiki/potatotips-1

Transcript of Android SDK Toolsのおさらい

Page 1: Android SDK Toolsのおさらい

Android SDK Toolsのおさらい

tomorrowkey

2013-11-13

#potatotipspotatotips 1 · potatotips/potatotips Wiki https://github.

com/potatotips/potatotips/wiki/potatotips-1

Page 2: Android SDK Toolsのおさらい

自己紹介

Name: 山下智樹

Twitter/Facebook: tomorrowkeyBlog: blog.tomorrowkey.jp株式会社ブリリアントサービス所属

Android歴 3年半

iOS 最近

Webちょっと

Page 3: Android SDK Toolsのおさらい

Android SDK Toolsのおさらい

Page 4: Android SDK Toolsのおさらい

対象

最近Androidはじめた人

Android SDK Toolsに興味なくて知らない人

Page 5: Android SDK Toolsのおさらい

みなさん Android SDK Tool使っていますか?

adb

android

zipalign

draw9patch

hierarchyviewer

emulatorlint

layoutopt

monitor

ddms

Page 6: Android SDK Toolsのおさらい

今回はAndroid SDKに入っているツールに着目しました。

Page 7: Android SDK Toolsのおさらい

対象

$ANDROID_HOME/tools に入っているツール

もしくは

Tools Help | Android Developers http://developer.android.com/tools/help/index.html

Page 8: Android SDK Toolsのおさらい

Androidと愉快な24ツールの概要を紹介

jetandroidantapps/SdkControllerddmsdmtracedumpdraw9patchemulatoretc1toolhierarchyviewerhprof-convlayoutopt

jobblintmksdcardmonitormonkeymonkeyrunnerproguardsqlite3systracetraceviewuiautomatorviewerzipalign

Page 9: Android SDK Toolsのおさらい

#1 jetJetPlayerで再生するファイルを作るためのツール

Jetって?

● 音楽をスムーズにループ再生できる

● 音楽をイントロとそれ以外に分けて再生できる

● 音楽の展開に合わせて、イベントを受け取れる

JetPlayer | Android Developers http://developer.android.com/reference/android/media/JetPlayer.htmlgarlic_dev |Jetしようぜ!①準備編 http://garlicg.blog92.fc2.com/blog-entry-18.html

Page 10: Android SDK Toolsのおさらい

#2 androidAndroid Virtual Device、Project、インストールされているSDKの管理を行います。

android | Android Developers http://developer.android.com/tools/help/android.html

Page 11: Android SDK Toolsのおさらい

#3 antantコマンド

Apache Ant - Welcome http://ant.apache.org/

Page 12: Android SDK Toolsのおさらい

#4 apps/SdkController実機のセンサーをエミュレータに伝えるアプリケーション

エミュレータでのマルチタッチも可能

Androidエミュレーターでマルチタッチを使えるようにする。|トリムのブログ http://ameblo.jp/torim8/entry-11233570796.html

Page 13: Android SDK Toolsのおさらい

#5 ddms (Dalvik Debug Monitor Server)Androidアプリのデバッグができる

logcatやScreen Captureなどのツール

Using DDMS | Android Developers http://developer.android.com/tools/debugging/ddms.html

deprecated (※スタンドアロン版)これからはAndroid Device Monitorを使う

Page 14: Android SDK Toolsのおさらい

#6 dmtracedumpトレースログからグラフィカルなスタック呼び出しのダイアグラムを生成できます。

このツールを使うにはGraphvizのインストールが必要

dmtracedump | Android Developers http://developer.android.com/tools/help/dmtracedump.html

Page 15: Android SDK Toolsのおさらい

#7 draw9patch9patchの画像を作るためのWYSIWYGエディター。

9patchを使ってみた際のプレビューも見ることができる。

Draw 9-patch | Android Developers http://developer.android.com/tools/help/draw9patch.html

Page 16: Android SDK Toolsのおさらい

#8 emulatorQEMUをベースとしたデバイスエミュレータ

このツールを使うことによってアプリのデザイン、デバッグ、テストを実際のAndroid Runtime環境で行うことができる。

Android Emulator | Android Developers http://developer.android.com/tools/help/emulator.html

Page 17: Android SDK Toolsのおさらい

#9 etc1toolOpen GLの圧縮テクスチャファイルETC1ファイルを作るためのコマンド

etc1tool | Android Developers http://developer.android.com/tools/help/etc1tool.htmlOpenGL ESでETC1圧縮テクスチャを使う | shobomalog http://shobomaru.wordpress.com/2013/03/24/using-etc1-texture-on-opengl-es/

Page 18: Android SDK Toolsのおさらい

#10 hierarchyviewerアプリUIの最適化とデバッグができる。

表示中のビューの階層を見ることができる。

表示速度など解析することができる。

Hierarchy Viewer | Android Developers http://developer.android.com/tools/help/hierarchy-viewer.html

Y.A.M の 雑記帳: Android Hierarchy Viewer を使ってみた。 http://y-anz-m.blogspot.jp/2010/12/androidhierarchy-viewer.html

Page 19: Android SDK Toolsのおさらい

#11 hprof-convAndroid SDK Toolのheap dumpによって生成されたHPROFファイルを標準的な

フォーマットに変換するツール

変換されたファイルはさまざまなビューワ(たとえばeclipse pluginなど)で見ることが

できる。

HPROF Converter | Android Developers http://developer.android.com/tools/help/hprof-conv.htmlAndroidアプリケーションのメモリ解析 - Android Zaurusの日記 http://d.hatena.ne.jp/androidzaurus/20110325/1301041397Android のメモリ管理 #1 メモリ使用量の分析・解析ツールを知る | Developers.IO http://dev.classmethod.jp/smartphone/android-memory-analysis-1/

Page 20: Android SDK Toolsのおさらい

#12 layoutoptアプリケーションのレイアウトを最適化するための解析ツール

lintが導入されたので、lintを使うといい

layoutopt | Android Developers http://developer.android.com/tools/help/layoutopt.html

deprecatedではない

Page 21: Android SDK Toolsのおさらい

#13 jobbOBB(Opaque Binary Blob)ファイルを作成するためのコマンド

OBBファイルはAPK extention fileとして使える。

JOBB | Android Developers http://developer.android.com/tools/help/jobb.htmlAPK Expansion Files | Android Developers http://developer.android.com/google/play/expansion-files.htmlExpansion Filesについて(1) - obb作成編 - キノコの自省録 http://d.hatena.ne.jp/kinokorori/20130710/1373467687

Page 22: Android SDK Toolsのおさらい

#14 lintAndroid lint静的解析ツール

潜在的なバグやコードのセキュリティ、パフォーマンス、使いやすさなどの最適化を行

います。

lint | Android Developers http://developer.android.com/tools/help/lint.html

Page 23: Android SDK Toolsのおさらい

#15 mksdcardFAT32ディスクイメージを作るためのコマンド

このディスクイメージはエミュレータから読み込むことができます。(例えばSDカードと

して)

mksdcard | Android Developers http://developer.android.com/tools/help/mksdcard.html

Page 24: Android SDK Toolsのおさらい

#16 monitorAndroid Device MonitorAndroidアプリのデバッグと解析するためのGUIスタンドアロンツールです。

スタンドアロンなのでeclipseなど必要ありません。

以下のツールを含みます。

● DDMS● Tracer for OpenGL ES● Hierarchy Viewer● Traceview● Pixel Perfect magnification viewer

Device Monitor | Android Developers http://developer.android.com/tools/help/monitor.html

Page 25: Android SDK Toolsのおさらい

#17 Monkeyエミュレータもしくは実機をランダムにタッチやジェスチャー、システムレベルなどの操

作してくれるストレステストツール。

UI/Application Exerciser Monkey | Android Developers http://developer.android.com/tools/help/monkey.html

Page 26: Android SDK Toolsのおさらい

#18 monkeyrunnerAndroid実機やエミュレータなどを外部からコントロールすることができるコマンドで

す。

Python でプログラムを書きます。

テストに使うこともできます。

monkeyrunner | Android Developers http://developer.android.com/tools/help/monkeyrunner_concepts.html

Page 27: Android SDK Toolsのおさらい

#19 proguardプログラムを難読化や最適化や小さくしたりすることができるツール

使用していないメソッドやフィールドを削除したり、難読化のためにメソッド名やフィー

ルド名を機械的で人間にわかりにくいものに置き換えます。またその副次的な効果で

ファイルサイズが小さくなる効果があります。

ProGuard | Android Developers http://developer.android.com/tools/help/proguard.html

Page 28: Android SDK Toolsのおさらい

#20 sqlite3sqlite3データファイルの作成や操作を行うためのコマンド

SQLite Home Page http://www.sqlite.org/

Page 29: Android SDK Toolsのおさらい

#21 Systraceアプリケーション解析ツール

Linuxカーネルから直接データを収集する

グラフィカルな解析結果表示(Chromeで表示)

Analyzing Display and Performance with Systrace | Android Developers http://developer.android.com/tools/debugging/systrace.html

Page 30: Android SDK Toolsのおさらい

#22 traceviewtraceview自体はアプリの速度計測ができるツール

出力されるファイルをGUIで見るためのコマンドです。

Traceview | Android Developers http://developer.android.com/tools/help/traceview.html

deprecatedこれからはAndroid Device Monitorを使う

Page 31: Android SDK Toolsのおさらい

#23 uiautomatorviewerUI解析ツール

現在表示中のViewの各種情報(View IDやViewのサイズやCheckedなどのStateなど)を表示することができる

UI Testing | Android Developers http://developer.android.com/tools/testing/testing_ui.html#uianalysis▶ Google's UI Automator Viewer Tutorial - YouTube http://www.youtube.com/watch?v=uA54T6R8nhs

Page 32: Android SDK Toolsのおさらい

#24 zipalignAPKファイルの最適化ツール

zipalign | Android Developers http://developer.android.com/tools/help/zipalign.html

Page 33: Android SDK Toolsのおさらい

以上、24ツールの紹介でした!

Page 34: Android SDK Toolsのおさらい

おしまい