A signedDocumentation Index
Fetch the complete documentation index at: https://globaliptv.misidev.com/llms.txt
Use this file to discover all available pages before exploring further.
.pkg file is required for every Roku Channel Store submission. The signing key is tied to your device’s DevID — you generate it once per device using genkey.
Prerequisites
- Roku device in developer mode (see Sideloading)
make,zip,curl, andtelnetinstalled- A signing key loaded on the device (generated in step 2 below)
Steps
Confirm developer mode is active
The device must be in developer mode before you can generate a signing key or package the channel. If you have not done this yet, follow the Sideloading guide first.
Generate a signing key with genkey
Connect to the Roku’s BrightScript console via Telnet:At the console prompt, run:The device responds with output similar to:Save both values immediately. The
Password is your SIGN_PASSWORD. The DevID identifies the signing key tied to this device.Each call to
genkey creates a new key and invalidates the previous one. Any .pkg files signed with the old key cannot be re-signed; you would need to submit a new package. Generate the key once and keep the password safe.Increment build_version in the manifest
The Roku Channel Store rejects a package with the same Current manifest values:
build_version as a previously submitted one. Before packaging for submission, open manifest and increment the value:Increment
build_version for every Channel Store submission, even if major_version and minor_version are unchanged. Keep the value in APP_VERSION in the Makefile and APP_VERSION in source/AppConstants.brs aligned with the manifest.Run make pkg
Run the packaging target with all three required variables:The target:
- Builds
out/GlobalTV.zip - Sideloads the zip to the device
- Requests a signed package via
http://<ROKU_IP>/plugin_package - Downloads the
.pkgfrom the device
Verify the output file
On success, the signed package is saved to:The console output confirms the path:If the
.pkg is not produced, the Makefile prints diagnostic steps:Submit to the Roku Channel Store
Log in to the Roku Developer Portal and navigate to Manage Channels. Select your channel and upload
out/GlobalTV-1.0.6.pkg in the Package submission section.Run make check before submitting to catch any manifest or asset issues that would cause the submission to be rejected.Troubleshooting
ERROR: No se pudo obtener el .pkg
ERROR: No se pudo obtener el .pkg
- Confirm
SIGN_PASSWORDmatches the password printed bygenkey. - Confirm the device has a signing key (you ran
genkeyat least once on this device). - Open
http://<ROKU_IP>/plugin_packagein a browser while authenticated asrokudevto inspect the raw response.
Roku Channel Store rejects the package
Roku Channel Store rejects the package
- Ensure
build_versioninmanifestis higher than the last submitted value. - Run
make checkand resolve all failures before re-packaging.
telnet: command not found (macOS)
telnet: command not found (macOS)
Install telnet via Homebrew:Alternatively, use
nc (netcat):