If you’re building web apps for Samsung smart TVs, you’ll need to deploy them to actual hardware at some point. The simulator only gets you so far. Here’s how to install your web app on a physical Tizen TV.
Prerequisites
You’ll need:
- A Samsung smart TV (2016 or newer, running Tizen)
- Tizen Studio installed on your dev machine
- Your TV and computer on the same network
Enable Developer Mode on the TV
First, put your TV in developer mode:
- Go to Apps on your TV
- Press 1-2-3-4-5 on the remote (yes, really)
- A dialog appears - toggle Developer Mode to On
- Enter your computer’s IP address
- Restart the TV
After restart, you’ll see a “Developer Mode” banner at the top of the Apps screen. That’s how you know it worked.
Install Tizen Studio
Grab Tizen Studio from Samsung’s developer site. You need at least:
- Tizen Studio (the IDE)
- TV Extensions (install via Package Manager)
The CLI tools are what matter most. After installation, add them to your PATH:
export PATH=$PATH:~/tizen-studio/tools:~/tizen-studio/tools/ide/bin
Create a Certificate
Tizen apps need to be signed. For development, create a certificate profile:
tizen certificate -a MyAuthor -p password123 -f mycert
tizen security-profiles add -n MyProfile -a ~/tizen-studio-data/keystore/author/mycert.p12 -p password123
Or use Device Manager in Tizen Studio - it’s more GUI-friendly for certificate management.
Connect to the TV
Find your TV’s IP address (Settings > General > Network > Network Status).
Connect via SDB (Samsung’s ADB equivalent):
sdb connect 192.168.1.100
sdb devices
You should see your TV listed. If not, check:
- Developer mode is on
- Your computer’s IP is entered correctly on the TV
- No firewall blocking port 26101
Build Your Web App
Your app needs a config.xml in the root. Minimal example:
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets"
id="http://yourdomain.com/myapp" version="1.0.0">
<tizen:application id="XXXXXXXXXX.myapp" package="XXXXXXXXXX" required_version="2.3"/>
<content src="index.html"/>
<feature name="http://tizen.org/feature/screen.size.normal.1080.1920"/>
<icon src="icon.png"/>
<name>My App</name>
<tizen:privilege name="http://tizen.org/privilege/application.launch"/>
</widget>
The XXXXXXXXXX is your app ID - use something unique (alphanumeric, 10 characters).
Build the package:
tizen build-web -out .buildResult
tizen package -t wgt -s MyProfile -- .buildResult
This creates a .wgt file - that’s your installable app.
Install on the TV
With your TV connected:
tizen install -n myapp.wgt -t 192.168.1.100
The app should appear in the TV’s app list. Launch it:
tizen run -p XXXXXXXXXX.myapp -t 192.168.1.100
Debugging
The killer feature: remote debugging with Chrome DevTools.
sdb -s 192.168.1.100 dlog -v time
Or launch with debugging enabled:
tizen run -p XXXXXXXXXX.myapp -t 192.168.1.100 -w
This prints a debug URL. Open it in Chrome and you get full DevTools - console, network, elements, the lot.
Automating Deployment
For CI/CD, script the whole process:
#!/bin/bash
TV_IP="192.168.1.100"
APP_ID="XXXXXXXXXX.myapp"
tizen build-web -out .buildResult
tizen package -t wgt -s MyProfile -- .buildResult
tizen uninstall -p $APP_ID -t $TV_IP 2>/dev/null
tizen install -n *.wgt -t $TV_IP
tizen run -p $APP_ID -t $TV_IP
Common Issues
“Device not found” - Check SDB connection, try sdb kill-server && sdb start-server
“Signature verification failed” - Certificate issue. Re-create your certificate profile or check the TV has your certificate’s DUID registered (for non-development certs)
App crashes on launch - Check dlog for errors. Usually a missing privilege or malformed config.xml
Black screen - Your index.html might be failing silently. Add verbose console.log statements and check via remote debug
Device Manager Alternative
If CLI isn’t your thing, Tizen Studio’s Device Manager does all this with a GUI:
- Connect to TV via IP
- Right-click to install/uninstall/run apps
- Launch remote inspector
I prefer CLI for automation but Device Manager is great for one-off testing.
Going to Production
Development deployment is one thing. For actual distribution:
- Samsung Seller Office for the official store
- Or enterprise deployment via Knox Configure
That’s a whole other process involving app review, screenshots, and compliance testing. But for dev work, the above gets you moving.