Roku's Static Analysis (and when to ignore it)

What is Static Analysis?

Roku's Static Analysis Tool is used by programmers to analyze a channel's BrightScript source code and detect common issues before submitting the channel for certification. Three types of messages are provided which vary in severity: "Errors", "Warnings", and "Info". The presence of error or warning messages does not mean that a channel will not be certified or approved.

Who should use Static Analysis?

Programmers who write Brightscript or SceneGraph code can use Static Analysis to find basic problems. If you do not write your own Brightscript or SceneGraph code then many of the warnings and errors provided by Static Analysis will not be useful or meaningful.

Common Static Analysis Messages

  • The Billing usage was found in BrightScript code but was not specified message can be ignored, it is harmless. This message is caused by Instant TV Channel programming code that exists in all channels that allows purchases and subscriptions can be activated without generating a new package file. The purchase and subscription programming code is not used unless In-Channel Purchasing is configured in the channel.
  • The Channel name in manifest {channel name} is different from channel-associated data in Channel Store DB message can be ignored, it is harmless. It indicates that the title parameter on the channel's Theme page does not exactly match the channel name entered in the channel's Roku Developer Account.
  • The Channel version in manifest is different from channel-associated data in Channel Store DB message can be ignored, it is harmless. To eliminate this message the major_version and minor_version on the channel's Theme page must match the "Channel Version" number shown on the Package Upload page in the channel's Roku Developer Account. The major_version is the number to the left of the decimal point and the minor_version is the number to the right of the decimal point in the "Channel Version" number.
  • The Channel version wasn't updated message indicates that the "Channel Version" number shown on the Package Upload page in the channel's Roku Developer account has not been incremented since the last time that a package file was uploaded. This may or may not be a problem. The "Channel Version" number is used by Roku devices which already have a channel installed in order to determine whether or not a new version of the channel is available. Usually the "Channel Version" number shown in your Roku Developer Account is incremented after each upload of a new package file. Incrementing the "Channel Version" number is not necessary (or possible) for version 1.0 of a public/certified channel.
  • The Content metadata field "AudioLanguageSelected" has been deprecated message can be ignored, it is harmless. This message is caused by code in Instant TV Channel that converts subtitle information from older content items into Roku's latest format.
  • The Following BrightScript libraries are required by the channel message is informational only and can be ignored.
  • The please use rsg_version=1.2 message is harmless, but it can be eliminated if you set the rsg_version parameter to "1.2". The rsg_version parameter is located near the end of the channel's Theme page. Your channel must be at Update #459 or higher in order to change rsg_version. Roku states that setting rsg_version to "1.2" will allow a channel to start quicker and use less memory. If rsg_version is set to "1.2" then the channel may crash when running on a device with firmware lower than version 9.0. At some point in the future Roku may require that all newly submitted channels have rsg_version set to "1.2" or higher.
  • The RAF usage was found in BrightScript code but Ads revenue was not specified message can be ignored, it is harmless. This message is caused by Instant TV Channel programming code that exists in all channels that allow video ads to be activated without generating a new package file. The ad-related programming code is not used unless one or more video ads are configured in the channel.
  • The roInput events message indicates that an Update needs to be applied to the channel. This message should not be ignored. The roInput feature has been supported in Instant TV Channel since Update #465 in February 2019 and is used by Roku's Deep Linking service. The roInput feature is built into the Pkg file and there are no changes needed to activate it other than to update the channel and re-submit it to Roku.
  • The /images/mm_icon_focus_sd.png" image used for "mm_icon_focus_sd" attribute has invalid resolution: "248x140". Valid resolution is "246x140." message can be ignored, it is harmless. This image is rarely used, and it is not clear whether 248x140 or 246x140 is the correct size. Roku's documentation regarding the width of the mm_icon_focus_sd image decreased by 2px at some point in the past. Roku is aware of this issue but has not yet provided any guidance.
  • Any messages containing Path: /components/Static_Analysis_Warnings_Are_Harmless_.brs can be ignored, they are harmless. These messages are caused by code that exists in Instant TV Channel that is used to support older firmware versions on obsolete Roku devices.

The Roku Developer Forum is a useful resource for developers of SDK channels, and is a great place to ask questions.

Want to know more about how to build an SDK Roku channel? Check out this Roku Custom SDK Walk-Through for all of the details.


Instant TV Channel is a cloud-based tool for Roku developers and content providers that shortens development time and eases maintenance after deployment.



Access Code: U463
Check out Instant TV Channel by adding our latest demonstration channel to your Roku player, or watch the YouTube video.

Need help with your Roku?

We are unable to provide technical support for your Roku device.

Please visit www.roku.com for assistance.



Instant TV Channel is not affiliated with nor endorsed by Roku Inc.