Tizenのエミュレーターや実機へのアプリ転送などをコマンドライン上で行えるsdb(Smart Development Bridge)がTizen SDKに同梱されています。 これはAndroidでいうadbコマンドのTizen版になります。
上記を利用する事でIDEを介さず、エミュレーターや実機にして操作が出来るのでよく使う機能などをメモを記載します。 (詳細はsdb helpコマンドで見れます)
- sdbコマンドの場所
- 接続されているTizenデバイスの確認
- sdbコマンドの対象デバイスの指定
- Tizenデバイスへのアプリ(tpk,wgt)のインストール
- Tizenデバイスへのリモートログイン
- Tizenデバイスからのファイル取得
- Tizenデバイスへのファイル転送
- その他
sdbコマンドの場所
Macの場合、$TIZEN_HOME/tools/sdbです。 パスは忘れてしまいましたが、Ubuntu、Windowsでも同様にsdbコマンド自体は利用可能です。(Windowsの場合にはコマンドプロンプト)
予め、.bashrcなどでパスを通しておくと便利です。 私の環境では以下のような感じ。
$export PATH=$PATH:/Users/toshihirock/tizen-sdk/tools
接続されているTizenデバイスの確認
エミュレーターや実機で現在PCに接続されていると認識しているTizenデバイス一覧を表示するにはsdb devicesコマンドを利用します。
$ sdb devices
* daemon not running. starting it now on port 26099 *
* daemon started successfully *
List of devices attached
emulator-26100 device mini
emulator-26110 device abc1
List of devices attached配下に端末一覧が表示されています。 上記例ではmini、abc1という名称のエミュレーターを2つ起動しています。
実機の場合にも、上記と同じように表示されます。 もし、実機が表示されない場合、端末のUSBデバッグモードが有効化されていない、もしくはUSBドライバがインストールされていない可能性があります。
なお、上記例ではdaemon not running. starting it now on port 26099ということでsdbサーバが同時に起動しています。
コマンドで明示的に起動する場合、sdb start-serverとすることで対応できますが、上記のように起動していなければ勝手に起動してくれるみたいなので個人的にはあまり使いません。(逆に停止する場合にはsdb kill-serverコマンドを利用します)
sdbコマンドの対象デバイスの指定
複数のTizenデバイスを接続している場合、どの端末に対してsdbコマンドを発行するか指定する必要があります。
対象が実機であるか、エミュレーターの違いかである場合にはオプションで-d、-eを利用するのが便利です。(installコマンドについては後述)
$sdb -d install example.wgt
$sdb -e install example.wgt
-dオプションで実機(device)、-eオプションでエミュレーター(emulator)に対して指定したコマンドを実行しています。
実機を2台以上接続してる、エミュレーターを2台以上接続してる時はどうするかというとsdb devicesコマンドを利用してそれぞれのSerial Numberを取得し、オプションで-sを利用して指定します。
$sdb devices
List of devices attached
emulator-26100 device mini
emulator-26110 device abc1
$sdb -s emulator-26100 install example.wgt
上記例ではまず、sdb devicesコマンドでそれぞれのSerial Numberを確認しています。 Serial Numberは一番左の名称が該当しています。(この例ではemulator–26100とemulator–26110)その後、-sオプションんを使用してSerial Numberが「emulator–26100」の方にアプリをインストールしています。
Tizenデバイスへのアプリ(tpk,wgt)のインストール
作成したtpk、wgtをTizenデバイスにインストールする場合にはsdb installコマンドを利用します。
$sdb -e install example.wgt
上記例ではexample.wgtというアプリをエミュレーターインストールしています。 既に上記アプリがインストールされている場合にも上記コマンドで上書き更新してくれます。
Tizenデバイスへのリモートログイン
Tizenデバイスにリモートログインする場合、sdb shellコマンドを利用します。なお、TizenIDEのConnection ExploerでもGUIでファイル構成などが確認できます。
$sdb -e shell
sh-4.1$
上記例ではエミュレーターにリモートログインしています。
普通にコマンドも使えます。
sh-4.1$ ls -la
total 88
dr-xr-xr-x 24 root root 4096 2013-07-17 20:38 .
dr-xr-xr-x 24 root root 4096 2013-07-17 20:38 ..
dr-xr-xr-x 2 root root 4096 2013-07-17 20:37 bin
dr-xr-xr-x 2 root root 4096 2013-06-14 10:38 boot
drwxr-xr-x 2 root root 4096 2013-07-17 20:36 cache
drwxr-xr-x 2 root root 4096 2013-08-03 23:36 csa
drwxr-xr-x 2 root root 4096 2013-07-17 20:36 data
drwxr-xr-x 15 root root 3700 2013-09-28 06:17 dev
drwxr-xr-x 39 root root 4096 2013-08-03 23:36 etc
lrwxrwxrwx 1 root root 9 2013-07-17 20:36 home -> /opt/home
dr-xr-xr-x 9 root root 4096 2013-07-17 20:37 lib
drwx------ 2 root root 16384 2013-07-17 20:36 lost+found
drwxr-xr-x 2 root root 40 2013-09-28 06:17 media
drwxr-xr-x 9 root root 4096 2013-07-17 20:37 mnt
drwxr-xr-x 14 root root 4096 2013-07-17 20:37 opt
dr-xr-xr-x 108 root root 0 2013-09-28 06:17 proc
lrwxrwxrwx 1 root root 14 2013-07-17 20:36 root -> /opt/home/root
drwxr-xr-x 12 root root 340 2013-09-28 06:17 run
dr-xr-xr-x 2 root root 4096 2013-07-17 20:38 sbin
lrwxrwxrwx 1 root root 8 2013-07-17 20:36 sdcard -> /mnt/mmc
drwxr-xr-x 2 root root 0 2013-09-28 06:17 smack
drwxr-xr-x 2 root root 4096 2013-06-14 10:38 srv
dr-xr-xr-x 12 root root 0 2013-09-28 06:17 sys
drwxr-xr-x 2 root root 4096 2013-07-17 20:36 system
drwxrwxrwt 12 root root 1700 2013-09-28 06:43 tmp
drwxr-xr-x 16 root root 4096 2013-07-17 20:38 usr
drwxr-xr-x 16 root root 4096 2013-07-17 20:36 var
suコマンドでスーパーユーザーにもなれます。
上記より、例えばIDEのコンソールなどでhogeっていうファイルを吐き出したよって言っているけどそれってどこなんだって言うときにはsdb shellでリモートログインしてfindコマンドで探すっていうのが手っ取り早いです。
sdb shell -ls -laなどとコマンドを指定するとリモートログインすることなく、コマンドの実行も可能なようです。
Tizenデバイスからのファイル取得
Tizenデバイスからファイルを取得する場合、sdb pullコマンドを利用します。
$sdb -e pull /opt/usr/media/Images/Default.jpg ~/Downloads/
1 file(s) pulled. 0 file(s) skipped.
/opt/usr/media/Images/Default.jpg 5834 KB/s (632118 bytes in 0.105s)
上記例ではTizen端末の/opt/usr/media/Images/Default.jpgファイルをローカルPCの~/Downloads/においてね、という操作をしています。
Tizenデバイスへのファイル転送
Tizenデバイスへファイルを配置する場合、sdb pushコマンドを利用します。
$sdb -e push ~/Downloads/icon.jpg /opt/usr/media/Images/
1 file(s) pushed. 0 file(s) skipped.
/Users/toshihirock/Downloads/icon.jpg 210 KB/s (2799 bytes in 0.013s)
上記例ではローカルPCの~/Downloads/icon.jpgというファイルをTizen端末の/opt/usr/media/Images/においてね、という操作をしています。
sdb pullとsdb pushでは第1引数と第2引数の意味が違うので注意です。
その他
上記以外でもsdb uninstallでアプリをアンインストールしたり、やsdb dlogでログを見たりできますが、個人的にあまり使わないので割愛します。その他にもコマンドなどありますが、詳細はsdb helpで確認下さい。
0 件のコメント:
コメントを投稿