LoginSignup
57
59

More than 5 years have passed since last update.

Android関係のコマンド・ツールまとめ

Last updated at Posted at 2014-07-07

全然更新しないうえ、ほったらかしになってたのでちょい更新
といっても、Androidの制御系のお話から離れちゃってるので、書けるネタあんまりないけど。

付属コマンドまとめ

adb

adb devices
言わずもがな。

adb root
root接続しなおすときに使う。

adb -s <device name> shell
デバイス名を指定してshellを実行する。d(デバイス用)、e(エミュレータ用)オプションもある。しかし、複数台接続して処理する場合、どちらも使えないのでsオプション一択。

adb connect <ipaddress>:<port>
端末をネットワーク経由で接続するときに使う。

adb logcat
androidのシステムログを取得するときに使う。これで取得できるのは、mainログ。vオプション指定で、イベントログと通話・通信ログが取得できる。時間指定をして測るときは、timeout <sec> adb logcatを使う。

adbのよた話
adbは高負荷な通信に耐えられる設計になっておらず、そのバグは未解決のまま。例えば、adb経由でデバイスとTCP通信を行い、アプリケーションをインストール&アンインストールする動作をさせるとする。100回前後で、TCP通信がデバイス側で強制切断される。これは、デバイスを再起動&adb(server)を再起動すると戻る。(確認済。誰も修正しないバグ。)

adb-server1つに対して、adb-clientは複数あります。複数デバイスを同時間に動かすプログラムを作る時、adb-serverとadb-clientを1対1の関係にしないと、上記のバグが原因で全体に影響がでます。

そういう使い方する方、あんまりいないだろうけど。
(中の人はAndroidアプリケーションを作ることにまったく興味なく、AndroidアプリケーションやIOSアプリケーションなどを外からの制御により、コントロールすることに興味があるので、そういうことをしてます。)

adb shell

adb shell ps
アプリケーションのprocess idを知るときに使う。

adb shell kill <pid>
アプリケーションを強制終了するときに使う。root権限が必要。

adb shell am start -a android.intent.action.VIEW -d http://hogehoge.com
Activityの起動(ACTION_VIEW + URL) 正直あまり使わない。

adb shell am start -n <package name>/<activity name>
Acitvityの起動 よく使う。特に何回も起動するときに重宝。大概、アプリケーションは強制終了する。

adb shell am startservice <package name>/<activity name>
サービス起動 

adb shell am broadcast <package name>/<activity name>
ブロードキャスト送信

aapt

appt d permissions hogehoge.apk
アプリケーションのpermissionとパッケージ名を知るときに使う。

appt d xmltree hogehoge.apk AndroidManifest.xml
アプリケーションのAndroidManifest.xmlの中身を知るときに使う。逆コンパイルせずにパッケージ名、アクティブ名を調べるときに便利。

aaptコマンその他まとめ(外部サイト)

配布ツールまとめ

apktool

apktool d hoge.apk
有名ツール。smaliファイルとAndroidManifest.xmlを取得するときに使う。

androguard

androapkinfo.py -i hogehoge.apk
アプリケーションのMain Activity名とその他Activity名を知るときに使う。アプリケーションを100個ほど調べた結果、Activity名は「パッケージ名.{…}Activity」という形式が多い。しかし時々、「パッケージ名(一部省略).{…}Activity」というのがあった。

taintdroid

androidアプリケーションの通信を調べるツール。OSコンパイルの際に組み込んで使う。精度はだいぶ低い。(と思われる)

droidscope

OSに組み込む。使い方わからん。

57
59
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
57
59