.pkg file. Signing binds the channel to a specific Roku device’s signing key and is required by Roku for all channel submissions.
How it works
Themake pkg target:
- Builds
out/GlobalTV.zip(runsmake zip) - Sideloads the zip to the Roku (runs
make install) - Posts a signing request to
/plugin_packagewith yourSIGN_PASSWORD - Downloads the resulting
.pkgfile from the Roku toout/
out/GlobalTV-1.0.6.pkg
Prerequisites
- Roku device in developer mode with a signing key loaded (see step 1 below)
ROKU_IP,ROKU_PASS, andSIGN_PASSWORDfrom thegenkeycommand
Generate a signing key
Each Roku device has a unique signing key. You generate it once usinggenkey over telnet. The resulting SIGN_PASSWORD must be saved — Roku does not let you recover it.
Connect to the Roku over telnet
telnet may not be installed by default. On macOS: brew install telnet. On Windows with Git Bash: choco install telnet or use PuTTY in raw mode on port 8080.Build the signed package
Increment build_version in manifest
Roku requires a unique Also update
build_version for every Channel Store submission. Open manifest and increment the value:APP_VERSION in the Makefile if the minor or major version has changed, so the output filename stays consistent.Upload to the Roku Channel Store
Log in to the Roku developer dashboard
Go to developer.roku.com and sign in with your Roku developer account.
Open your channel and add a new version
Navigate to your channel listing and select Manage Channel → Add new version.
Upload the .pkg file
Upload
out/GlobalTV-1.0.6.pkg when prompted. Fill in the required metadata (screenshots, descriptions, categories).