- Day2 Room4 15:10-
- https://droidkaigi.github.io/2017/timetable.html#session-60
資料内のコマンドにpackageName と書かれている部分は アプリのパッケージ名に 置き換えてお試しください!
- Android SDKまわりにちょっとPathを通すだけ
- 基本、それだけ!
- sdk/tools
- sdk/tools/bin
- sdk/platform-tools
- sdk/build-tools/
- sdk/platform-tools/systrace (おまけ)
- 複数のAndroid端末を同時繋いでる時に便利
- alias adb='adb-peco'
- https://github.com/tomorrowkey/adb-peco
- 複数のAndroid端末を同時につないで困ってませんか?それadb-pecoで選択できるよ!
- http://techlife.cookpad.com/entry/2014/09/09/172449
- adb-pecoを書き直しました by tomorrowkey
- http://tomorrowkey.hatenablog.jp/entry/2016/07/31/adb-peco%E3%82%92%E6%9B%B8%E3%81%8D%E7%9B%B4%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F
- peco select adb history
- https://gist.github.com/operando/250da59cc97d89c33337fe5b129e09f5
- Android Debug Bridge
- 実機にはないけどエミュレータには入ってるコマンドはそこそこある
- セキュリティ上の理由なのかな?
- adb shell ip addr show wlan0 | grep 'inet ' | cut -d' ' -f6|cut -d/ -f1
- ip部分だけ取り出す
- adb tcpip 5555
- adb connect ip:5555
- Android StudioのPlugin
- https://github.com/pedrovgs/AndroidWiFiADB
- まあこっちの方が楽
- 文字入力めっちゃ簡単になる最強コマンド✨
- adb shell input text droidkaigi2017
- Key eventを発行できる
- adb shell input keyevent KEYCODE_POWER
- 電源キー押す
- adb shell input keyevent KEYCODE_SLEEP
- スクリーンOFF
- 再起動コマンド
- adb shell reboot
- Activityをスタートさせるもの
- adb shell am start -a android.intent.action.VIEW -d https://google.com
- Broadcastを実行するコマンド
- adb shell am broadcast -a com.android.systemui.BATTERY_LEVEL_TEST
- 電池残量0〜100%の画像をアニメーションで確認できる!
- 使わないだろー😇
- 今やらないようにねw
- hangするので
- hangしてどうしようもなくなったらadb shell rebootですよ!
- http://tools.oesf.biz/android-7.1.1_r1.0/xref/frameworks/base/cmds/am/src/com/android/commands/am/Am.java
- http://tools.oesf.biz/android-7.1.1_r1.0/xref/frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
- PackageManager
- 指定したパッケージ名のapkの場所を教えてくれる
- adb shell pm path packageName
- アプリケーションのデータをクリアする
- adb shell pm clear packageName
- adb shell pm list packages
- adb shell pm list packages -e
- adb shell pm list packages -d
- adb shell pm list packages -s
- adb shell pm list packages -3
- http://tools.oesf.biz/android-7.1.1_r1.0/xref/frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java
- http://tools.oesf.biz/android-7.1.1_r1.0/xref/frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
- システムサービスの状態をダンプ
- 色々含めて動作チェックしたい時にめっちゃ便利
- adb shell dumpsys -l
- これでsystem serviceの一覧が見える
- 気になるSystem Serviceを探す
- Activityの情報をdumpする
- adb shell dumpsys activity
- adb shell dumpsys activity top
- 今表示してるActivityの情報が見える!
- レイアウトの構造も見れる!
- FragmentManagerの情報もdumpされる
- 新しいプロジェクトや見知らぬコードを読む時に役立つ
- この画面ってどのActivity? どのFragment? みたいなことを調べるのに最適
- 人様のアプリのViewの構造を調べるのに最適
- adb shell dumpsys usagestats
- adb shell dumpsys dbinfo
- adb shell dumpsys dbinfo packageName
- 実行したSQLとかの履歴が見える
- テーブル構造丸裸問題🙈
- logcatに任意のlogを打ち込む
- shell log DroidKaigi2017やってくぞ!
- とある操作の範囲のlogcatを見たい時などに 操作の始めと終わりにlogを打つとかに便利
- 実行するプロセスを変える?
- adb shell run-as packageName
- /data/data/packageName配管のファイルを見たい時に便利
- adb bugreport
- adb shell bugreportz
- bugreportをzip化したものが作れる
- bugreportはものすごくでかい
- 以下に書き出される
- /data/user_de/0/com.android.shell/files/bugreports
- OK:/data/user_de/0/com.android.shell/files/bugreports/bugreport-NPG05D-2017-03-10-07-41-37.zip
- 生成されたらadb pullして取り出す
- adb uninstall packageName
- アプリをアンインストールする
- adb shell cmd package uninstall -k packageName
- shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:com.souzoh.android.atte
- adb shell pm list packages | sed 's@^package:@@g' | sort
- adb shell dumpsys activity activities | grep apkを改造してpecoと合わせて選択してpullするやつ作る
adb shell dumpsys activity activities | grep apk | sed -e 's/ *baseDir=//g' | peco | xargs adb pull
- dumpsys activity activitiesとpecoでゴニョゴニョして端末からapkを簡単に引っこ抜く
- http://qiita.com/operandoOS/items/6fa77037560e52d11352
- gem install dryrun
- dryrun リポジトリのURL
- https://github.com/cesarferreira/dryrun
- http://tools.oesf.biz/android-7.0.0_r1.0/xref/frameworks/base/cmds/
- http://tools.oesf.biz/android-7.0.0_r1.0/xref/system/core/
- logcatを見る
- コマンドの出力結果から固定値っぽいものを見つけて、それを出力してる処理を探す
- そこからどんどん掘り下げていく
- ソースコードから頑張って探す!
- DeviceAPI-Android
- https://github.com/bbc/device_api-android
- ruby
- adbkit
- https://github.com/openstf/adbkit
- node.js
- 紹介したコマンドとかまとめてます!
- https://github.com/operando/Android-Command-Note