Issue: vpm install Failed (Module dependency not found) - Fire TV Stick 4K Select (Vega OS)

Hi Team,

I am encountering an installation failure while trying to deploy a Release build to my Fire TV Stick 4K Select (G4N33M03351401DP)
Error Log:
Command failed: vda -s G4N33M03351401DP shell ‘vpm install /tmp/abp_armv7.vpkg’
Kepler operation FAILED due to an irrecoverable error: Failed

Observations:
When running vpm install manually via the device shell, I receive the error: error (Module dependency not found).

Upon checking vpm list modules on the device, I see that the device supports IEpg_7 (/com.amazon.kepler.epg_2@IEpg_7).

However, my build logs show that the SDK/Autolinker is injecting a dependency for IEpg_8, which is likely causing the mismatch.

This is my manifest.toml
schema-version = 1

[package]
id = “com.abp.firetv”
title = “abp”
version = “2.0.0”
build-number = 30

Components

[components]

[[components.interactive]]
id = “com.abp.firetv.main”
runtime-module = “/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0”
categories = [“com.amazon.category.main”, “com.amazon.category.kepler.media”]
launch-type = “singleton”

[[components.interactive]]
id = “com.abp.firetv.sync_source”
runtime-module = “/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0”
launch-type = “singleton”

[[components.service]]
id = “com.abp.firetv.interface.provider”
runtime-module = “/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0”

[[components.service]]
id = “com.abp.firetv.content.dataRefresh.provider”
runtime-module = “/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0”

[[components.task]]
id = “com.abp.firetv.onInstallOrUpdateTask”
runtime-module = “/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0”

[[components.task]]
id = “com.abp.firetv.epgSyncTask”
runtime-module = “/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0”

Processes

[processes]

[[processes.group]]
component-ids = [“com.abp.firetv.main”]

[[processes.group]]
component-ids = [“com.abp.firetv.interface.provider”]

[[processes.group]]
component-ids = [“com.abp.firetv.content.dataRefresh.provider”]

[[processes.group]]
component-ids = [“com.abp.firetv.onInstallOrUpdateTask”]

[[processes.group]]
component-ids = [“com.abp.firetv.epgSyncTask”]

Wants

[wants]

[[wants.service]]
id = “com.amazon.inputmethod.service”

[[wants.service]]
id = “com.amazon.kepler.pcon.service.main”

[[wants.service]]
id = “com.amazon.drm.key”

[[wants.service]]
id = “com.amazon.drm.crypto”

[[wants.service]]
id = “com.amazon.tv.developer.dataservice”

[[wants.privilege]]
id = “com.amazon.tv.content-personalization.privilege.provide-data”

[[wants.service]]
id = “com.amazon.media.server”

[[wants.service]]
id = “com.amazon.mediametrics.service”

[[wants.service]]
id = “com.amazon.inputd.service”

[[wants.service]]
id = “com.amazon.media.playersession.service”

[[wants.service]]
id = “com.amazon.mediabuffer.service”

[[wants.service]]
id = “com.amazon.mediatransform.service”

[[wants.privilege]]
id = “com.amazon.devconf.privilege.accessibility”

[[wants.service]]
id = “com.amazon.gipc.uuid.*”

[[wants.service]]
id = “com.amazon.audio.stream”

[[wants.service]]
id = “com.amazon.audio.control”

[[wants.service]]
id = “com.amazon.audio.system”

[[wants.service]]
id = “com.amazon.network.service”

[[wants.service]]
id = “com.amazon.iap.core.service”

[[wants.module]]
id = “/com.amazon.iap.core@IIAPCoreUI”

[[wants.service]]
id = “com.amazon.iap.tester.service”

[[wants.module]]
id = “/com.amazonappstore.iap.tester@IIAPTesterUI”

Needs

[needs]

[[needs.privilege]]
id = “com.amazon.media.secureplayback”

[[needs.privilege]]
id = “com.amazon.privilege.security.file-sharing”

[[needs.privilege]]
id = “com.amazon.kepler.tv.privilege.data_provider”

[[needs.privilege]]
id = “com.amazon.network.privilege.net-info”

[[needs.module]]
id = “/com.amazon.kepler.appstore.iap.purchase.core@IAppstoreIAPPurchaseCoreService”

[[needs.module]]
id = “/com.amazon.kepler.media.control.server@IMediaControlServerComponentAsync”

[[needs.module]]
id = “/com.amazon.kepler.media@IContentLauncher1”

[[needs.module]]
id = “/com.amazon.kepler.media.@IAccountLogin1

Tasks

[tasks]

[[tasks.work]]
component-id = “com.abp.firetv.onInstallOrUpdateTask”
mode = “install”

Offers

[offers]

[[offers.service]]
id = “com.abp.firetv.interface.provider”

[[offers.service]]
id = “com.abp.firetv.content.dataRefresh.provider”

[[offers.service]]
id = “com.amazon.gipc.uuid.*”

[[offers.interaction]]
id = “com.abp.firetv.main”

[[offers.message-target]]
uses-component = “com.abp.firetv.sync_source”
uris = [“kepler://com.abp.firetv.sync_source”]

[[offers.module]]
id = “/com.abp.firetv.main@IMod1”
includes-messages = [“kepler://com.abp.firetv.main”]

Messages

[[message]]
uri = “kepler://com.abp.firetv.main”
sender-privileges = [“*”]
receiver-privileges = [“self”]

Extras

[[extras]]
key = “interface.provider”
component-id = “com.abp.firetv.main”

[extras.value.application]

[[extras.value.application.interface]]
interface_name = “com.amazon.kepler.media.IChannelServer”
features = [“ChannelList”]

[[extras.value.application.interface]]
interface_name = “com.amazon.kepler.media.IContentPersonalizationServer”
attribute_options = [“SupportedCustomerLists”, “DataRefreshComponentId”]

[extras.value.application.interface.static_values]
SupportedCustomerLists = [“Watchlist”]
DataRefreshComponentId = “com.abp.firetv.content.dataRefresh.provider”

[[extras.value.application.interface]]
interface_name = “com.amazon.kepler.media.IContentLauncherServer”
attribute_options = [“partner-id”]
static-values = { partner-id = “ABP_APP” }

[[extras.value.application.interface]]
interface_name = “com.amazon.kepler.media.IAccountLoginServer”
attribute_options = [“Status”]
override_attribute_component = { Status = “com.abp.firetv.interface.provider” }

[[extras.value.application.interface]]
interface_name = “com.amazon.kepler.media.IMediaPlaybackServer”
command_options = [“Play”,“Pause”,“StartOver”,“Previous”,“Next”,“SkipForward”,“SkipBackward”]
attribute_options = [“AudioAdvanceMuted”]
features = [“AdvancedSeek”, “VariableSpeed”, “AudioTracks”, “TextTracks”]

Thank you

Hi @ABP_Network

Thanks for writing in. To proceed further, I would need to look into your build logs.
Kindly share them.

Warm regards,
Ivy

For now, I’ve installed it on Fire TV. If I face any issues in the future, I’ll contact you.
Thank you

1 Like

Sure, happy to help!

Warm regards,
Ivy