yashsingh1/xdaforums huggingface dataset:
[Fire TV Original Android Development] Pro-me3us:
Good question. The only time disabled apps become enabled again is when the app is updated with a newer version. I don't know if this applies to apps that are updated during a firmware upgrade.

If you update to P7613, can you first copy the list of disabled apps (pm list packages -d), so that you can compare it to after the update and look for any changes.

Disable your internet while upgrading, and keep it off until after you confirm all the apps are still disabled once the Cube boots back to FireOS. Use pm disable-user <package-name> if needed, root won't be required.

Let us know if anything got re-enabled so I can add extra instructions for the update process.
[Fire TV Original Android Development] Osaka_23:
Thanks again @Pro-me3us !

I will do this over the weekend and report back.
[Fire TV Original Android Development] Skel40:
com.amazon.adep is nowhere to be found for the PS7613 version only firmwares higher than PS7613
[Fire TV Original Android Development] Osaka_23:
Hi,

I just updated PS7613 and the com.amazon.adep is there. However, I have this blocked.
[Fire TV Original Android Development] Skel40:
Thanks for the reply when I received the Cube back in April, I updated it to the 7.6.1.3 update with no increments after so my guess would be an incremental update? I actually find that surprising!!! They're really going after LM much more than I thought so thanks for the response
[Fire TV Original Android Development] Osaka_23:
You are welcome.

Personally, I prefer Fire TV products over the Google TV and Nvidia Shield Pro. However, I find it frustrating Amazon are blocking people installing custom launchers.

I must admit @Pro-me3us's work and tutorials improves the user experience and makes me stay. Also, I actually enjoy doing these customisations and "jailbreaking". I find it satisfying once get the devices to operate how I want them to work.
[Fire TV Original Android Development] Cinnamon bunny:
Please help! After updating to PS7613/3701 and following the setup on this site, I noticed that the 1 and 2 buttons on remote pro don't work. What can I do to get it working again?
[Fire TV Original Android Development] Pro-me3us:
The two programmable buttons on the pro remote aren't working? If you long press on either of them to bring up the programming menu, does that work?

Are you using Launcher Manager and a custom launcher? I don't think those buttons depend on the Amazon Launcher, but to test that, use Launcher Manager to temporarily disable your custom launcher / re-enable Amazon Launcher. Then see if the buttons respond.

The 3rd gen Cube is shipped with PS7299/3052, and that firmware didn't yet have full pro remote support. Can you go to FireOS settings / My Fire TV / About, and confirm that you are actually on PS7613/3701?
[Fire TV Original Android Development] Cinnamon bunny:
The 1 button is completely unresponsive, and when I press the 2 button it says app not found.

I use launcher manager and wolf launcher. Disabling the custom launcher and enabling the Amazon launcher does not help.

I am pretty sure my cube os is using ps7613/3701.

Also, I'm Japanese. Does this behave differently depending on the region? The remote has a shortcut button for a Japanese app called "TVer," and pressing it launches the Disney+ app.

I use Google Translate, so if you have any questions, please ask!
[Fire TV Original Android Development] Pro-me3us:
There shouldn't be any regional restrictions on the programmable buttons. They do depend on the FireOS settings app, and the version that ships with the 3rd gen Cube doesn't have the programming screen integrated yet.

Just to confirm your FireOS version, can you enter this command from ADB, and copy and past the response

gazelle:/ $ getprop ro.build.fingerprint

Then we will know for certain what firmware your device is on. If you are still on PS7299, I can give you instructions on how to manually update to PS7613/3701, without accidentally updating further.
[Fire TV Original Android Development] Cinnamon bunny:
This is the result.

Amazon/gazelle/gazelle:9/PS7613.3701N/0025401652480:user/amz-p,release-keys
[Fire TV Original Android Development] Pro-me3us:
Good, thanks!

Here is a direct link to the FireOS settings app. Download and sideload / install it on your Cube. This settings app version is from May, and definitely includes the programming screen.

I'm not certain if the PS7601/3701 firmware includes an updated settings app, or if it's downloaded separately as a system component. Installing this updated settings app will rule this out as a possible problem.
[Fire TV Original Android Development] Cinnamon bunny:
Installing this didn't change anything. Works the same as before installation. And I'm sorry many times. Please help me with this.
[Fire TV Original Android Development] Pro-me3us:
Let's try directly accessing the programming menu, to make sure it's accessible. You will need temp root for this.

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # am start -a "com.amazon.customizableshortcut.FULL_SCREEN" --es "BUTTON_TYPE" "KEYCODE_BUTTON_2"

This command will manually open the programming screen for button 2 on your TV. Let me know if it appears, and if after choosing a button action if the remote button starts to work.
[Fire TV Original Android Development] Cinnamon bunny:
The result was "cmd: Can't find service: activity" and no particular operation was possible.
[Fire TV Original Android Development] Pro-me3us:
Sorry that's my mistake, I forgot to tell you to run setenforce

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # setenforce 0

gazelle:/ # am start -a "com.amazon.customizableshortcut.FULL_SCREEN" --es "BUTTON_TYPE" "KEYCODE_BUTTON_2"

If you still have the root shell on your screen, you only need to run the last 2 commands.
[Fire TV Original Android Development] Cinnamon bunny:
I tried executing the command and assigning the function on fire TV, but when I pressed the button, it said the app was not found and it was no different than before.
[Fire TV Original Android Development] Pro-me3us:
Alright, at least it's there. I just remembered, that there is the remote app. Maybe updating that will help. Download and install this (June update), then do a reboot.
[Fire TV Original Android Development] Cinnamon bunny:
This didn't work either. Sorry to keep bothering you
[Fire TV Original Android Development] Pro-me3us:
There is a message that pops up after a firmware update that says something to the effect of 'updating your remote'. Do you ever remember seeing such a message? That might be required to get the remote working fully?

I will have to do some digging to find a way to manually trigger that remote update.

Do you know how long the Pro Remote has been available in Japan? Was it just recently made available, or has it been on sale there since November 2022?
[Fire TV Original Android Development] Cinnamon bunny:
I don't remember seeing the message 'update your remote'. The pro remote was released in Japan on November 16th, 2022.

I'm sorry to bother you.
[Fire TV Original Android Development] Pro-me3us:
It's ok, I'll need a day to try to find the trigger to force that remote update. I don't have a Pro Remote myself for quick testing. I'm assuming that using the Pro Remote on PS7613/3701 should be possible, so it's just a matter of finding the problem.
[Fire TV Original Android Development] Cinnamon bunny:
omg! I can't thank you enough! I will wait forever Thank you very very much!
[Fire TV Original Android Development] Pro-me3us:
I'm not seeing any obvious way to trigger that remote updating screen. While I look further, try doing a remote reset, and unpair / re-pair.

Maybe re-pairing the remote will get it working properly

To reset the remote, hold Left+Back+Menu buttons simultaneously for ~12-15sec. Wait 5 sec, remove the batteries and put them back in.

You will then go to the FireOS settings remote screen and re-pair the remote. I'm assuming you still have the regular remote to use. If not you can also use the FireTV Android remote app.

I'm not confident this will fix the problem, but it's certainly something that should be checked.
[Fire TV Original Android Development] Cinnamon bunny:
It didn't work😭 I think the 1 and 2 buttons launch an app that works with some shortcuts and get those results. For example, something like a tasker secondary.
[Fire TV Original Android Development] Pro-me3us:
Ok, that's ruled out.

Can you run

gazelle:/ $ pm list packages -d

And show what apps you currently have disabled. One thought is that Arcus Proxy might be involved in button mapping. And it may need to be re-enabled, at least temporarily.
[Fire TV Original Android Development] Cinnamon bunny:
package:com.android.nfc

package:com.fireos.arcus.proxy

package:com.amazon.tv.forcedotaupdater.v2

package:com.amazon.device.software.ota

package:com.amazon.device.software.ota.override

I got this result.
[Fire TV Original Android Development] Pro-me3us:
I only know that Arcus Proxy is involved in the PackageManagerDenyList, maybe it's involved in remote button mapping too?

Try re-enabling Arcus Proxy

gazelle:/ $ pm enable com.fireos.arcus.proxy

This will return all the restrictions on what apps you can enable or disable. It shouldn't change the state of any packages. For example, OTA firmware updates should remain disabled (com.amazon.device.software.ota). After you re-enable Arcus Proxy, reboot your Cube and Arcus Proxy will immediately communicate with Amazon.

When you do reboot, verify that com.amazon.device.software.ota (OTA updates) is still in the disabled app list by running

gazelle:/ $ pm list packages -d

If for any reason it's not disabled, disconnect your internet so the Cube doesn't update. And run

gazelle:/ $ pm clear com.amazon.device.software.ota

And let me know.

Try keeping Arcus Proxy active for a day, to see if it updates any background processes needed to fix the programmable buttons, and to correct the TVer button. After a day, you can rerun the instructions in the first post to again disable Arcus Proxy, and clear all the app restrictions.
[Fire TV Original Android Development] Cinnamon bunny:
I have a day Thank you for letting me know! I will contact you again if there are any changes!
[Fire TV Original Android Development] Cinnamon bunny:
The TVer button now works properly! But still 1,2 buttons are not working.
[Fire TV Original Android Development] Pro-me3us:
That bit of information could be useful later 🙂

There may be another app involved in the process of getting those programmable buttons working. Can you run this command and show me the output:

gazelle:/ $ pm list packages -s -f | grep '/data/app/'

This will show me which system apps your Cube currently has installed updates for. I can use that information to get an idea of which app(s) to try updating.
[Fire TV Original Android Development] Cinnamon bunny:
package:/data/app/com.amazon.alexamediaplayer.runtime.ftv/com.amazon.alexamediaplayer.runtime.ftv.apk=com.amazon.alexamediaplayer.runtime.ftv

package:/data/app/com.amazon.tv.turnstile-bIEwt9A2xjpINZg3gKFvzQ==/base.apk=com.amazon.tv.turnstile

package:/data/app/com.amazon.tv.settings.v2-MFevhR2JFWezArEC_-_0Aw==/base.apk=com.amazon.tv.settings.v2

package:/data/app/com.amazon.firebat-W50Qn0mTxW7Q39QSijJchw==/base.apk=com.amazon.firebat

package:/data/app/com.amazon.cloud9/com.amazon.cloud9.apk=com.amazon.cloud9

package:/data/app/com.amazon.bueller.music/com.amazon.bueller.music.apk=com.amazon.bueller.music

These results were obtained.
[Fire TV Original Android Development] Pro-me3us:
Thanks, I have a list of all the updates the Cube would normally get. Most of it is junk, but there are a few background apps who's functions are less clear.

First try installing the Ceviche app update from May. Do a reboot and see if there is any change.
[Fire TV Original Android Development] Cinnamon bunny:
Nothing has changed.
[Fire TV Original Android Development] Pro-me3us:
Ok, try installing the OOBE update, and a reboot.

In case that doesn't work right away, wait another 12-24hrs. If some Amazon server communication is required for Ceviche, it's hard to know how often that communication occurs.

I'll look through the rest of the app updates, to see which other ones are worth trying.
[Fire TV Original Android Development] Cinnamon bunny:
This didn't work either, so I'll wait and contact you again if there are any changes. Sorry for bothering you for my one problem. Thank you at the same time.
[Fire TV Original Android Development] Cinnamon bunny:
Hello! I've been watching since yesterday and nothing seems to have changed. I tried connecting the pro to another firestick and it works fine.
[Fire TV Original Android Development] Pro-me3us:
Ok, well there aren't really any other apps I can think of that have updates, that would be involved. You can try updating these three. The App Store and Amazon Launcher have many tentacles, maybe there is something there

Aria

Amazon TV Launcher

Amazon App Store

Whatever process updates the remote could just be stuck. I don't know how to manually force the remote firmware to update. How long have you had your 3rd gen Cube and Pro Remote? Now that you have updated some more processes the Cube, you can try doing the remote reset, unpair/re-repair again.

Try enabling these two apps (you'll need root):

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # setenforce 0

gazelle:/ # pm disable-user com.amazon.tv.forcedotaupdater.v2

gazelle:/ # pm disable-user com.amazon.device.software.ota.override

Firmware updates will still be blocked because com.amazon.device.software.ota remains disabled.
[Fire TV Original Android Development] Cinnamon bunny:
It did not work after doing these things.

I have been using the fire tv cube and alexa remote for 6 days today since I purchased them.

In my opinion, is there any possibility to fix it by factory resetting the fire tv cube? If I do a reset and unplug the ethernet adapter during the initial setup, it will keep the version and may add something needed to the remote!
[Fire TV Original Android Development] Pro-me3us:
A factory reset is probably your best option right now.

When you factory reset, you will need to re-register the Cube. Skip the forced firmware update during registration process. When you are back in FireOS block updates immediately. FireOS will download firmware updates in the background and install them without asking you.

Follow the instructions in the first post to block updates

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # setenforce 0

gazelle:/ # disable-user com.amazon.software.device.ota

If you have previously given Amazon permission to save your WiFi password, the Cube will immediately connect to the internet after a factory reset, and download any firmware updates, before you even register.

Don't underestimate FireOS's aggressiveness about updating your Cube's firmware.
[Fire TV Original Android Development] Cinnamon bunny:
I initialized the firetv cube, but the remote did not work. You did everything you could for me! I really appreciate it. thank you.
[Fire TV Original Android Development] Pro-me3us:
EDIT I'm moving any updates and development to this script to it's own thread.

I'll see if I can think of anything else.

It's not all a loss, this did give me an idea for remapping the app buttons. I made a script to simplify the process. Upload this script to your device, run it, choose the app that you want to remap, and enter the new app package name to remap the button too.

To see a list of installed apps and their package names:

gazelle:/ $ pm list package -3

After transferring the script to /data/local/tmp, make it executable.

gazelle:/ $ chmod +x /data/local/tmp/app_remap.sh

Running the script requires root (3rd gen Cube: gazelle_shrinker or gazelle_buf; 2nd gen Cube: raven_shrinker or raven_buf)

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # /data/local/tmp/app_remap.sh

Type the number of the app button to remap, enter. Type the app package name to direct the app button to, enter.

Rerun the script to map more than one button. A reboot is required for the button remapping to take effect. The script can also be used to block / clear all the app buttons so that they can be remapped with Xposed Edge.
[Fire TV Original Android Development] Cinnamon bunny:
Oh! That is awesome! But I want to assign an Alexa action to that button, so I'm fine!
[Fire TV Original Android Development] sauce rice:
I have only used terminals with unlocked bootloader, but is it possible to use MAGISK module and LSPosed (module) with cube (3rd) BOOTLESS MAGISK?
[Fire TV Original Android Development] Pro-me3us:
Bootless Magisk doesn't start until after the OS has fully loaded. Any modules that require early initialization in the boot process won't work. LSPosed also requires Magisk v24 or above, and bootless Magisk only works up to v21.4

Bootless Magisk is very limited in terms of modules that will work, it's mostly only good for granting root to app requests.
[Fire TV Original Android Development] remizik:
Hi,

I just got a brand new Fire TV Cube gen3 which was shipped with the FireOS 7.2.9.9 (PS7299/3052).

I follow along the procedure and everything goes smoothly, except the update fails :

Then it reboots and nothing was changed.

Note : I denied access to the internet to the Cube, also the "update-kindle-gazelle-PS7613_user_3701_0025401652612.bin" firmware was already pushed in the "/data/ota_package/" folder, that's why it's not on the cmd window screenshot

Thanks for your help
[Fire TV Original Android Development] Pro-me3us:
Blocking updates is fine, that won't influence this. The update failed message shows that the update command is at least being created and registered by recovery. My guess is that either the update filename is different, or it's not there. There is an OTA file cleanup service that is triggered during boot. I forget if it's called even during an unsuccessful recovery update.

As a sanity check, confirm update-kindle-gazelle-PS7613_user_3701_0025401652612.bin is still in /data/ota_package/. And secondly that the OTA file name didn't change when it was moved to the ota_package folder.

ps The update is failing immediately in recovery? or do you see it unpacking the firmware, indicating that it's actually found a file and working with it?
[Fire TV Original Android Development] remizik:
Hi me3us, and thanks for the super quick answer !

File is there :

And yes the update fails almost instantly, I see a progress bar but for just a second or two
[Fire TV Original Android Development] Pro-me3us:
File is there, I don't see any typos. The only two reasons a recovery update should fail is either the file isn't being found, or the file isn't passing the hash check because there is some file corruption.

Try downloading the firmware again, and moving it over to the ota_folder.

If you still have the file on your computer you can run an MD5 hash check on it to confirm it's in tact, then move it over to the Cube and into the ota_package folder

PS7613/3701 MD5 = ba22a775d46fd39f533a6684631b41ee

Sorry to make you repeat steps, we need to cover the obvious potential problems first.
[Fire TV Original Android Development] remizik:
No worries, I work in IT so I know the drill ;)

md5 checks out on my computer :

I did transfer the file via ethernet, I'll try with a USB stick and will report in a few minutes
[Fire TV Original Android Development] remizik:
Ok it's working now after copying via USB instead of over ethernet !

Very sorry for the trouble (bad IT guy!), hopefuly it will help someone else one day.

Thanks again a lot
[Fire TV Original Android Development] Pro-me3us:
No problem, sometimes the problems people encounter give new insights into the workings of FireOS. If there had been some other way FireOS was communicating with recovery other than the command file, it could have been a useful tidbit :D
[Fire TV Original Android Development] remizik:
Do you guys know if remapping these buttons is possible ?

I'd like to start Kodi and SmartTube, which I was able to do on my Xiaomi MiBox TV thanks to the "Button Mapper" app.

Sadly it doesn't work on the Fire TV Cube, when I press one of these buttons to tell Button Mapper to remap it, it just starts the app.

Since we got root access, I'm wondering if there's a way ?

Thanks :)
[Fire TV Original Android Development] Pro-me3us:
This script can remap any of the app buttons.

If you are using a custom launcher and want to maintain use of the recent button, follow these steps.
[Fire TV Original Android Development] remizik:
Amazing, I'll try this asap!

Thanks a lot
[Fire TV Original Android Development] Pro-me3us:
I don't have a personal list. You can install the Debloat Toolbox. This app has annotations to give you a hint at what some of the packages do.

I've seen a couple people post their lists recently. The 2nd & 3rd gen Cubes have most of the same FireOS apps, so there is this list. And this list for the 3rd gen Cube.
[Fire TV Original Android Development] remizik:
Awesome, you're a life saver with all that knowledge :)

I'll check that when I'm back home.

Thanks again so much
[Fire TV Original Android Development] Skel40:
I got a Fire TV Cube 3rd Gen (gazelle) on Nov 1st 2023 and confirm it runs on 7.6.1.3/3701 as a fyi for those using this device. Buy it before the firmware increases
[Fire TV Original Android Development] Skel40:
I wanted to point out that my list is for stability and without any compromise in performance on 7.6.1.3/3701 and 7.6.4.6. Avoid disabling android.ext.services, etc. This will bootloop the Cube in a neverending loop causing pm to be completely broken, along with services, etc as a lesson learned. Hope this helps the (gazelle) users
[Fire TV Original Android Development] Skel40:
@Pro-me3us , With temp root, am I allowed to pm uninstall -k --user 0 a package to remove it as user only? Or would that cause it to boot loop and brick?
[Fire TV Original Android Development] Pro-me3us:
Running pm uninstall -k --user 0 with or without root access is the same. In both instances only the data partition is modified, and is no more or less problematic.

I don't know which apps you have in mind? Uninstalling system app updates on the data partition shouldn't brick the device.

Maybe in a very rare circumstance, if the data from a newer version of a system app update was kept (-k variable), and the format of that data was incompatible with the older system partition copy of the app, which the OS reverted to, that that could cause a problem.
[Fire TV Original Android Development] remizik:
I'd like to power off the Cube via a programmable wifi outlet.

Do you guys know if it's "bad" for the Cube ? (basically the same thing as pulling the plug from the wall).

Or do you know a way to really put it to sleep/turn it off automatically during the night ?

Thanks

(sorry for the off topic question)

edit : might have found a way to turn if off using Home Assistant and the ADB integration
[Fire TV Original Android Development] Pro-me3us:
Using a smart plug isn't something any manufacturer would recommend. Ungraciously killing Android/FireOS like that increases the chance of data corruption and hardware damage in the long run, even if it's fine in the short run.

Use Home Assistant to send this command and it will do a power shutdown.

adb shell reboot -p

Press the action button on the Cube to power it back on and boot FireOS.

Additionally, holding the action button for +10sec in FireOS, then releasing, will power off the Cube too.

There's the sleep command if you don't want to perform a full power shutdown. Depends what your goal is, saving electricity, privacy?
[Fire TV Original Android Development] remizik:
Thanks Pro-me3us

I tried creating an automation like this in HA :

But it doesn't work.

Using that button works though :

I can feel I'm close :D