tvirl icon indicating copy to clipboard operation
tvirl copied to clipboard

Does not work on Amazon Fire TV Stick (3rd gen, 2020)

Open stari4ek opened this issue 5 years ago • 25 comments

  • 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.

stari4ek avatar Feb 28 '21 10:02 stari4ek

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 avatar Feb 28 '21 10:02 stari4ek

@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:

Sync Sources

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

Unsupported System

aarubui avatar Jun 03 '22 05:06 aarubui

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 avatar Jun 04 '22 07:06 aarubui

@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)

stari4ek avatar Aug 29 '22 20:08 stari4ek

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

vicks619 avatar Feb 01 '24 09:02 vicks619

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

stari4ek avatar Feb 01 '24 10:02 stari4ek

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

vicks619 avatar Feb 01 '24 11:02 vicks619

I don't have a 4K Max.

aarubui avatar Feb 01 '24 11:02 aarubui

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

vicks619 avatar Feb 01 '24 11:02 vicks619

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.

aarubui avatar Feb 01 '24 20:02 aarubui

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

vicks619 avatar Feb 02 '24 02:02 vicks619

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.

aarubui avatar Feb 02 '24 03:02 aarubui

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

vicks619 avatar Feb 02 '24 03:02 vicks619

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.

aarubui avatar Feb 02 '24 04:02 aarubui

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

vicks619 avatar Feb 02 '24 05:02 vicks619

I'll need to know the package names.

aarubui avatar Feb 02 '24 05:02 aarubui

I'll need to know the package names.

https://play.google.com/store/apps/details?id=com.discoveryplus.mobile.android

vicks619 avatar Feb 02 '24 06:02 vicks619

Surely, mobile would suggest that's not the correct package name but nevertheless: TVirl_0.5.3.3_com.discoveryplus.mobile.android.apk

aarubui avatar Feb 02 '24 06:02 aarubui

Surely, mobile would 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/ IMG_20240202_124558

vicks619 avatar Feb 02 '24 07:02 vicks619

  1. 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.
  2. 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.

aarubui avatar Feb 02 '24 08:02 aarubui

  1. 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.
  2. 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 IMG_20240202_152202

vicks619 avatar Feb 02 '24 09:02 vicks619

@aarubui can you please mod the latest tvirl app as that one supports clearkey DRM. thanks in advance

vicks619 avatar Mar 09 '24 11:03 vicks619

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&

ankusa avatar Mar 26 '24 06:03 ankusa

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

vicks619 avatar Mar 26 '24 06:03 vicks619

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&

ankusa avatar Mar 26 '24 07:03 ankusa