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 usually be ignored, it is harmless. This message is caused by Instant TV Channel billing software that allows the channel to be monetized using one-time purchases and subscriptions. This message can be eliminated by setting the Theme IncludeBilling parameter to "False" and the rebuilding the Pkg file.
  • 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 the initial version 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. These messages can be eliminated by updating the channel to #490 or higher.
  • The Developer id of submitted package does not match developer id of previously submitted package message indicates that the newly submitted Pkg file was not built from the original channel, and was not built from a clone of the original channel. If this message blocks submission of the channel, it may be necessary to send an email to partnersuccess@roku.com to ask for an exception because the original Developer ID was lost.
  • The Your channel appears to be using ECP or roAppManager commands message can be ignored, it is harmless. ECP refers to "External Control Protocol" and is used for slideshows, audio-only streams, to launch other channels, or to use Programmable Button BACK or HOME functions. This message can be eliminated by updating the channel to #490 or higher.
  • 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 usually harmless, but it can be eliminated by setting 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. At some point in the future Roku may require that all 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 usually be ignored, it is harmless. RAF refers to "Roku Advertising Framework" and is required if your channel uses VAST video ads. This message can be eliminated by setting the Theme IncludeRAF parameter to "False" and the rebuilding the Pkg file.
  • The roInput events message indicates that an Update needs to be applied to the channel. This message should not be ignored. The roInput feature 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 roInput feature can be included and the message can be eliminated by updating the channel to #465 or higher.
  • 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. This message can be eliminated by uploading a 246x140 image using the Theme mm_icon_focus_sd parameter and then rebuilding the Pkg file.
  • 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. These messages can be eliminated by updating the channel to #490 or higher.

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.