Does not work on Amazon Fire TV Stick (3rd gen, 2020)
- https://www.reddit.com/r/IPTV/comments/ls4zrf/how_to_install_live_channels_app_on/
Pre-installed Live TV app does not show TVirl as channels source.
TVirl uses TV Input Framework supported by Fire OS. There is a chance that allow-listing is required by Amazon for TVirl.
Manually installed Live Channels crashes upon start-up:
Caused by: java.lang.SecurityException: Failed to find provider com.google.android.gsf.gservices for user 0; expected to find a valid ContentProvider for this authority
java.lang.RuntimeException: Unable to get provider com.google.android.tv.livechannels.epg.provider.EpgContentProvider: java.lang.IllegalStateException: Google Play services is missing
So it looks like, missing Google Play Services breaks it.
Both parts of issue are a bit strange since according to statistics there are Amazon devices watching TV with TVirl. But 99% of them are using Android 7.1.2, while most recent Fire TV Stick should be using Android 9. So there is a chance that something is broken in most recent Fire OS.
2021-02-26 00:20:57.444 10207-10207/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.android.tv, PID: 10207
java.lang.RuntimeException: Unable to get provider com.android.tv.search.LocalSearchProvider: java.lang.SecurityException: Failed to find provider com.google.android.gsf.gservices for user 0; expected to find a valid ContentProvider for this authority
at android.app.ActivityThread.installProvider(ActivityThread.java:6467)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6012)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5922)
at android.app.ActivityThread.access$1100(ActivityThread.java:207)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6740)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.SecurityException: Failed to find provider com.google.android.gsf.gservices for user 0; expected to find a valid ContentProvider for this authority
at android.os.Parcel.createException(Parcel.java:1950)
at android.os.Parcel.readException(Parcel.java:1918)
at android.os.Parcel.readException(Parcel.java:1868)
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:779)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1972)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1961)
at dbj.a(PG:7)
at dbj.a(PG:17)
at aio.b(PG:34)
at dqv.a(PG:5)
at ekw.a(PG:9)
at aly.a(PG:10)
at ekw.a(PG:9)
at dot.a(PG:17)
at ekp.y(PG:8)
at ekp.B(PG:12)
at ekl.a(PG:29)
at eks.onCreate(PG:9)
at com.android.tv.search.LocalSearchProvider.onCreate(PG:3)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1919)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1894)
at android.app.ActivityThread.installProvider(ActivityThread.java:6462)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6012)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5922)
at android.app.ActivityThread.access$1100(ActivityThread.java:207)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6740)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.content.ContentService.registerContentObserver(ContentService.java:352)
at android.content.IContentService$Stub.onTransact(IContentService.java:76)
at com.android.server.content.ContentService.onTransact(ContentService.java:271)
at android.os.Binder.execTransact(Binder.java:731)
@stari4ek I found a way to get TVirl to work with Fire TV's own Live TV service (not Live Channels) by changing the package name from by.stari4ek.tvirl to one of the supported TV apps (I chose tv.pluto.android) and resigning the APK. TVirl then showed up as Pluto TV:

However, TVirl then complains about missing Google Play Store and Google Play services. Can this check be removed?

I've bypassed the check but now I get another error:
Failed to install playlist.
Error: Error has occurred during Get operation. query = Query{uri=content://android.media.tv/channel?preview=false, columns=[_id, type, version_number, display_number, display_name, internal_provider_data, internal_provider_flag1], where='', whereArgs=[], sortOrder=''}
Cause: index=1886680168 out of bounds (limit=104, nb=4)
This is on the Fire TV Stick Lite.
Edit: Forget that. I reinstalled and the error went away. TVirl is working fine for me. TVirl_0.5.3.3.apk
@aarubui , thank you for the update! Yeah, it looks like Amazon has whitelist for TIF supported apps to be integrated to Live TV.
I am not aware if there is a straightforward way to get approval from Amazon (most probably not for such small app). But it worth experimenting and testing using altered package name to be sure that the rest of functionality works well (including "Android TV check", which most probably fails due missing "Leanback" launcher)
I've bypassed the check but now I get another error:
Failed to install playlist. Error: Error has occurred during Get operation. query = Query{uri=content://android.media.tv/channel?preview=false, columns=[_id, type, version_number, display_number, display_name, internal_provider_data, internal_provider_flag1], where='', whereArgs=[], sortOrder=''} Cause: index=1886680168 out of bounds (limit=104, nb=4)This is on the Fire TV Stick Lite.
Edit: Forget that. I reinstalled and the error went away. TVirl is working fine for me. TVirl_0.5.3.3.apk
I tried using redbull tv from the list, it installs ok but TVirl says fail to load TV input service. I am using 4k max
but TVirl says fail to load TV input service. I am using 4k max
It really depends where you see it. "TV Input Service" is started by TV App (="Live TV"). So you should start Live TV first. configure TVirl there - add channels, enable them. Open one of added channel in Live TV.
In this case Live TV app starts "TV Input Service" for playback. And TVirl would say that it's running
but TVirl says fail to load TV input service. I am using 4k max
It really depends where you see it. "TV Input Service" is started by TV App (="Live TV"). So you should start Live TV first. configure TVirl there - add channels, enable them. Open one of added channel in Live TV.
In this case Live TV app starts "TV Input Service" for playback. And TVirl would say that it's running
yes checked it, none of the app works for me, I think @aarubui needs to update the apps for them to work, tried redbull as well as discovery
I don't have a 4K Max.
I don't have a 4K Max.
But it should work similar to lite as the Android version is same. The discovery app which you made is being recognized as tvirl and not as discovery
It still works fine for me and I've not heard of anyone having the same issue. You're also providing very little information (an error message that isn't even word-for-word and "4k max") so you don't seem to want our help anyway.
It still works fine for me and I've not heard of anyone having the same issue. You're also providing very little information (an error message that isn't even word-for-word and "4k max") so you don't seem to want our help anyway.
Can you check whether discovery app shared by you shows on sync sources list. As the original one appears but the one you created does not hence tvirl asks for tv input service app. Also discovery app installed shows as tvirl only in the app list and not as discovery
You're right. Discovery doesn't show up in Sync Sources. It must have been removed from Amazon's list of approved TV apps. I've deleted the APK now.
You're right. Discovery doesn't show up in Sync Sources. It must have been removed from Amazon's list of approved TV apps. I've deleted the APK now.
Nope it is amazon approved as I said the original app works fine in sync sources. Can you try modding the latest discovery apk. Thanks in advance
I didn't mod the discovery APK. I modded the TVirl APK and changed the package name so the OS thinks it's an approved TV app.
I didn't mod the discovery APK. I modded the TVirl APK and changed the package name so the OS thinks it's an approved TV app.
Yeah meant that, if you can try modding it again, as it shows as tvirl only and not discovery, that is the problem. only redbull app appears as redbull, unfortunately my region supports only redbull and discovery but redbull does not appear in sync sources list and directly show in live tv section whereas only original discovery app is there in the sync sources list where tvirl app is not showing
I'll need to know the package names.
I'll need to know the package names.
https://play.google.com/store/apps/details?id=com.discoveryplus.mobile.android
Surely, mobile would suggest that's not the correct package name but nevertheless:
TVirl_0.5.3.3_com.discoveryplus.mobile.android.apk
Surely,
mobilewould suggest that's not the correct package name but nevertheless: TVirl_0.5.3.3_com.discoveryplus.mobile.android.apk
For some reason it still getting installed as tvirl and not discovery, can you check this one: https://www.amazon.in/Discovery-Plus-Learning-Digital-Premieres/dp/B087G5BN7Z
developed by [Discovery Communications India] OR
Sun NXT https://www.amazon.in/Sun-TV-Network-Limited-NXT/dp/B072814ZX5/
- I wouldn't say the notification definitely means something is wrong but I don't sideload apps your way so I don't know for sure.
- I've added a new version for every app on the Indian approved apps list to MEGA. The Discovery+ app has a different package name than the one that used to be on the US approved apps list.
- I wouldn't say the notification definitely means something is wrong but I don't sideload apps your way so I don't know for sure.
- I've added a new version for every app on the Indian approved apps list to MEGA. The Discovery+ app has a different package name than the one that used to be on the US approved apps list.
Not sure what you meant by first point. I use downloader app to sideload. What's your method?
Got the sun NXT working this time with sync sources showing tvirl instead of sun nxt 🤣 thanks for the help in creating the apps
@aarubui can you please mod the latest tvirl app as that one supports clearkey DRM. thanks in advance
TVirl_v0.5.4 for Fire TV Package Name com.redbull.rbtv
https://cdn.discordapp.com/attachments/1069583197186293774/1222055995610759188/TVirl_v0.5.4.02787.apk?ex=6614d356&is=66025e56&hm=9c05a47af71f1f8de64663203bcfb860ce08def6b11bc8e94813441b84ba6495&
https://www.amazon.in/Sun-TV-Network-Limited-NXT/dp/B072814ZX5/
can you please make tha package for this one https://www.amazon.in/Sun-TV-Network-Limited-NXT/dp/B072814ZX5/
Thanks in advance
https://www.amazon.in/Sun-TV-Network-Limited-NXT/dp/B072814ZX5/
can you please make tha package for this one https://www.amazon.in/Sun-TV-Network-Limited-NXT/dp/B072814ZX5/
Thanks in advance
https://cdn.discordapp.com/attachments/1069583197186293774/1222082517214171146/TVirl_v0.5.4.02787_com.suntv.sunnxt.apk?ex=6614ec09&is=66027709&hm=727f1d7369b1296647ea52217423836a70c9e4be97fc67f4da165338b249e348&