エミュレータと実機を同時に接続した状態で、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)
コマンド等、色々と復習しなおしたほうがよさそうです。



