-
Notifications
You must be signed in to change notification settings - Fork 40
Companion app guidance (Emulator)
HunseopJeong edited this page Jul 20, 2021
·
10 revisions
-
Prepare needed OS
- Ubuntu(recommended) or Windows
-
Install Tizen SDK & TV Emulator
-
Create Samsung certificates
-
Install Debugging Tool
- Install sdbd-plugin-3.8.4-1.i686.rpm
# Copy and reboot TV emulator $ cp sdbd-plugin-3.8.4-1.i686.rpm /PATH/TO/tizen-studio/platforms/tizen-6.0/tv-samsung/emulator-images/add-ons/package_folder -
Set up TV Emulator configuration
[Only for Ubuntu] Configuration file for UDP forwarding : vm_launch.conf
$ cp vm_config.xml /PATH/TO/tizen-studio-data/emulator/vms/T-samsung-6.0-x86/vm_launch.conf -
How to develop companion app
https://github.com/Samsung/TAU/wiki/How-to-develop-companion-application
-
Run Tizen SDK
-
Import attached wgt file Video.wgt

- Choose Tizen Project

- Choose 'Archive file' (global service) : Video.wgt

- Choose your profile and Tizen version

- Fix your codes.
- Choose 'Build Signed Package'


- The wgt file will be generated.
- Search & execute 'Emulator Manager' on Ubuntu or Windows

- Click 'Launch' button

- Launched TV Emulator

- Please make sure that the emulator is connected to network.
$ sdb root on
# Check whether google web page is loaded or not
$ sdb shell /usr/apps/org.tizen.chromium-efl/bin/efl_webview_app http://google.com
- MDE F/W : DeviceHome.wgt
$ sdb root on
# Install MDE F/W
$ sdb install /PATH/TO/DeviceHome.wgt
# Launch MDE F/W
$ sdb shell app_launcher -s QKatUa7aon.Service
- [Host Web Brower] Load http://www.devicehome.net in web browser and input ID 'stester81@gmail.com'.

- [Host Web Brower] Choose available 'Tizen Emulator [127.0.0.1]'

- [Host Web Brower] Device home is loaded

- Install Sample App : Video.wgt
$ sdb root on
# Forward device home server port from host device to emulator
$ sdb forward tcp:9000 tcp:9000
# Install app
$ sdb install /PATH/TO/Video.wgt
- [Host Web Brower] Click the 'Video' icon in device home

- [Host Web Brower] Play video and click 'Play on Tizen Screen'

- [TV Emulator] The cooking video is synchronously played on Tizen screen.

- Run in TV console
(HOST)$ sdb shell
# Run debugging tool for app logs
(TV)$ dlogutil -v threadtime CHROMIUM -b apps
- Snapshot of Windows10

- app_launcher -s QKatUa7aon.Service
07-05 21:11:12.840+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.840+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.850+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.850+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.850+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.860+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.860+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.860+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.870+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.870+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.870+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.880+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.880+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.880+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.880+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.890+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.890+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.890+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.890+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.900+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.900+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.910+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.910+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.910+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.910+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.910+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.920+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.920+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.930+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getAppMetaData()[0m
07-05 21:11:12.950+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] webclip path : /opt/usr/globalapps/OZBS6gG8Jl/shared/res/webclip/manifest.json[0m
07-05 21:11:12.950+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] arguments : /opt/usr/globalapps/OZBS6gG8Jl/shared/res/webclip/manifest.json,r[0m
07-05 21:11:12.950+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] updated argument[0] : /opt/usr/globalapps/OZBS6gG8Jl/shared/res/webclip/manifest.json[0m
07-05 21:11:12.950+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] tizen.filesystem.openFile (error): /opt/usr/globalapps/OZBS6gG8Jl/shared/res/webclip/manifest.json NotFoundError: Could not open file: No such file or directory[0m
07-05 21:11:12.970+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] __dirname: /opt/usr/apps/QKatUa7aon/res/wgt/service[0m
07-05 21:11:12.970+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] TV Profile[0m
07-05 21:11:12.970+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] Routing - getCurrentApplication() : QKatUa7aon.Service[0m
07-05 21:11:13.060+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] ID, packageId: QKatUa7aon.Service org.tizen.chromium-efl[0m
07-05 21:11:13.060+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] g.baseDir: /opt/usr/apps/[0m
07-05 21:11:13.110+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] onStart is called in DNS Resolver[0m
07-05 21:11:13.110+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] Server is listening on 10.0.2.15:9000[0m
07-05 21:11:13.110+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] login_id : stester81@gmail.com[0m
07-05 21:11:13.110+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] device_ip : 127.0.0.1[0m
07-05 21:11:13.110+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] device_name : Tizen Emulator[0m
07-05 21:11:13.150+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] xhr text: DEVICE_EXISTS[0m
07-05 21:11:13.150+0900 I/CHROMIUM(P 3368, T 3554): [96m[INFO:WRT(0)] [DeviceHome][service.js] device exists[0m