[Fire TV General] NaturalBornHaxor:
That doesn't work. It appears a segfault occurs when doing it over ssh; it works fine from adb shell.

Observe over ssh:

root@android:/storage/emulated/legacy # ps | grep dcp
root 77 2 0 0 c01876c8 00000000 S hdmi_hdcp
amz_a31 1050 277 484992 28544 ffffffff 401f7f6c S com.amazon.dcp:eek:SMetrics
amz_a31 1415 277 483952 29008 ffffffff 401f7f6c S com.amazon.dcp
amz_a31 1934 277 487200 32180 ffffffff 401f7f6c S com.amazon.dcp:eek:TAService
root@android:/storage/emulated/legacy # pm disable com.amazon.dcp
Segmentation fault
139|root@android:/storage/emulated/legacy # ps | grep dcp
root 77 2 0 0 c01876c8 00000000 S hdmi_hdcp
amz_a31 1050 277 484992 28784 ffffffff 401f7f6c S com.amazon.dcp:eek:SMetrics
amz_a31 1415 277 483952 29344 ffffffff 401f7f6c S com.amazon.dcp
amz_a31 1934 277 492404 32720 ffffffff 401f7f6c S com.amazon.dcp:eek:TAService

Note that com.amazon.dcp is still running.

Now from an adb shell:

shell@android:/ $ su
root@android:/ # ps | grep dcp
root 77 2 0 0 c01876c8 00000000 S hdmi_hdcp
amz_a31 1050 277 484992 28784 ffffffff 401f7f6c S com.amazon.dcp:eek:SMetrics
amz_a31 1415 277 483952 29344 ffffffff 401f7f6c S com.amazon.dcp
amz_a31 1934 277 492404 32720 ffffffff 401f7f6c S com.amazon.dcp:eek:TAService
root@android:/ # pm disable com.amazon.dcp
Package com.amazon.dcp new state: disabled
root@android:/ # ps | grep dcp
root 77 2 0 0 c01876c8 00000000 S hdmi_hdcp

No segfault this time and the service isn't running anymore! I verified the change survives a reboot, too.

shell@android:/ $ ps | grep dcp
root 77 2 0 0 ffffffff 00000000 S hdmi_hdcp

Following up on this, watching logcat during startup I see:

E/ActivityThread( 1573): Failed to find provider info for com.amazon.dcp.ota.pendingupdates.internal
<snip>
W/ActivityManager( 647): Unable to start service Intent { act=com.amazon.dcp.ota.action.CONTROLLER } U=0: not found

Now when I got to about, I see this in logcat:

W/ContextImpl( 4672): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1713 android.content.ContextWrapper.bindService:500 com.amazon.dcp.framework.ServiceBinder.startBind:175 com.amazon.dcp.framework.ServiceBinder.unsafeBind:92 com.amazon.dcp.framework.ServiceBinder.bind:77
W/ActivityManager( 647): Unable to start service Intent { act=com.amazon.dcp.ota.action.CONTROLLER } U=0: not found
E/com.amazon.dcp.framework.ServiceBinder( 4672): Failed to bind service: Intent { act=com.amazon.dcp.ota.action.CONTROLLER }
E/com.amazon.dcp.framework.ServiceBinder( 4672): com.amazon.dcp.framework.ServiceBinder$BindFailedException
E/com.amazon.dcp.framework.ServiceBinder( 4672):	at com.amazon.dcp.framework.ServiceBinder.startBind(ServiceBinder.java:201)
E/com.amazon.dcp.framework.ServiceBinder( 4672):	at com.amazon.dcp.framework.ServiceBinder.unsafeBind(ServiceBinder.java:92)
E/com.amazon.dcp.framework.ServiceBinder( 4672):	at com.amazon.dcp.framework.ServiceBinder.bind(ServiceBinder.java:77)
E/com.amazon.dcp.framework.ServiceBinder( 4672):	at com.amazon.dcp.ota.OTAController.ensureServiceConnected(OTAController.java:829)
E/com.amazon.dcp.framework.ServiceBinder( 4672):	at com.amazon.dcp.ota.OTAController.getActiveUpdates(OTAController.java:433)
<more stacktrace omitted>
V/MetricsServiceConnection( 4672): onServiceConnected : service android.os.BinderProxy@4238c2a0
W/ActivityManager( 647): Unbind failed: could not find connection for android.os.BinderProxy@4242b0e0
E/BuellerAboutSettingsAct( 4672): CheckOtaInfoTask unexpected exception:
E/BuellerAboutSettingsAct( 4672): com.amazon.dcp.ota.OTAUnavailableException: Failed to bind to the OTA service
E/BuellerAboutSettingsAct( 4672):	at java.lang.reflect.Constructor.constructNative(Native Method)
E/BuellerAboutSettingsAct( 4672):	at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.framework.Checks.throwException(Checks.java:123)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.framework.Checks.checkNotNull(Checks.java:74)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.ota.OTAController.ensureServiceConnected(OTAController.java:830)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.ota.OTAController.getActiveUpdates(OTAController.java:433)
<more stacktrace omitted>

When I manually check for updates, I get the following in logcat:

E/BuellerAboutSettingsAct( 4672): CheckOtaAvailabilityTask unexpected exception:
E/BuellerAboutSettingsAct( 4672): java.lang.IllegalStateException: Cannot use a BoundServiceHolder instance more than once.
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.framework.ServiceBinder.enforceState(ServiceBinder.java:287)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.framework.ServiceBinder.unsafeBind(ServiceBinder.java:87)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.framework.ServiceBinder.bind(ServiceBinder.java:77)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.ota.OTAController.ensureServiceConnected(OTAController.java:829)
E/BuellerAboutSettingsAct( 4672):	at com.amazon.dcp.ota.OTAController.getActiveUpdates(OTAController.java:433)
<more stacktrace omitted>

This results in the attached screenshot. I removed the filtering from my router before this and have not messed with /etc/hosts, so I think we're good!