adbコマンドあれこれ

接続端末一覧

adb devices
(端末ID一覧が表示される)

端末モデル調査

adb shell cat /system/build.prop | find "product.name"
> ro.product.model=Dell Streak

※find "product" とすれば他にも情報を取得できる

※端末が複数ある場合は
adb -s 端末ID pull ... とする。以下のコマンドラインでも同様に adb -s 端末ID [コマンド] とすれば複数端末ある場合に対応できる。

※2012/08/03追記
linuxで端末名を取得する1行スクリプト

adb shell cat /system/build.prop | grep ro\.product\.model | awk -F"=" 'NR==1 {print $2}' | awk -v RS='\r\n' '{print $1}'

注意点として、改行コードが\r\nになってるので、awkが上手く扱えないっぽく"-v RS='\r\n'"としている。途中、NR==1 とてるのは、ro\.product\.model 行が複数回出現する端末もあるので、その対応

インストールパッケージの確認

adb shell pm list packages -f | find "パッケージ名"

インストールパッケージの取り出し

adb pull /data/app/パッケージ名.apk

コマンドプロンプトのカレントディレクトリにパッケージファイルがコピーされる

パッケージのインストール

adb install パッケージ名.apk

パッケージのアンインストール

adb uninstall パッケージ名

※2013/12/29追記

アプリの移行

「428-封鎖された渋谷で-」というアプリを別端末で稼動させるための手順。おそらく他のアプリでも応用可能です。

  1. 現在遊んでいる端末からセーブデータのバックアップを取得する(パスワードは設定したければする)
    adb backup -f android428google.ab -apk spikechunsoft.android428google
  2. 移行先の端末でGooglePlayからアプリをインストール
  3. 一度ちゃんと動作するか確認するため起動する
  4. ちゃんと動く場合、データをダウンロードしようとするけど、キャンセルする(ダウンロードしてもいいけど、データ移行した後またDLしないといけないので)
  5. バックアップしておいたセーブデータを復元する
    adb restore android428google.ab
  6. 再度アプリを起動し、データをDLする
  7. ちゃんと起動し、データが移行できてればガッツポーズ


※参考URL
http://d.hatena.ne.jp/mabots/20110531
http://d.hatena.ne.jp/mabots/20110727
http://www.adakoda.com/android/000218.html