« Android 署名時のZipExceptionエラー | メイン | Android sdutil,mkdosfs,reboot,mountについて »

エミュレータと実機を同時に接続した状態で、ADBで簡単に実機にソフトをインストールする方法

ソフトウェアを作成した後実機へUSBで転送するには、Eclipseからもできますが、adbコマンドをよく使います。

転送するには、"adb install hoge.apk"のように指定しますが、エミュレータを起動している状態で、USBで接続した実機に転送すると、「どちらにインストールしていいかわかりません」と言われます。


error: more than one device and emulator

このような時は、デバイス名を引数として指定してインストールを行うと記憶しており、打つのがめんどくさかったので、エミュレータを終了させて転送させていました。

いつのバージョンから出来るようになったのか、あるいはただ知らなかっただけなのかはわかりませんが、エミュレータを終了させなくても、実機へインストールする方法を見つけた?ので以下に記載します。


-d   - directs command to the only connected USB device
         returns an error if more than one USB device is present.
-e   - directs command to the only running emulator.
         returns an error if more than one emulator is running.

実機へ送るには、-dを、エミュレータに送るには、-eを指定します。
また、ほとんどの場合実機には、既に同じプログラムが入ってますので、バージョンアップインストールである、-rオプションを付けるのが良いと思います。


adb -d install -r hoge.apk
adb -e install -r hoge.apk

また、久しぶりにコマンドを調べてみたら、uninstall オプション-kなんてのを発見したり...


adb install [-l] [-r] <file> - push this package file to the device and install it
                                 ('-l' means forward-lock the app)
                                 ('-r' means reinstall the app, keeping its data)
adb uninstall [-k] <package> - remove this app package from the device
                                 ('-k' means keep the data and cache directories)

コマンド等、色々と復習しなおしたほうがよさそうです。

ブログ内の関連記事

トラックバック

このエントリーのトラックバックURL:
http://www.taosoftware.co.jp/mt/mt-tb.cgi/317