Accessibility service disabled upon each debug run

Solution 1:

This might go some way to explain and mitigate your problem (but not what causes your Force stop).

After Android 3.1 " the system sets FLAG_EXCLUDE_STOPPED_PACKAGES on all broadcast intents." So after 3.1 , all apps are stopped on boot. Why ?. For security reasons.

There are RULES to turn the flag off FLAG_EXCLUDE_STOPPED_PACKAGES.

(1) If the app get's a Force stop from settings OR unresponsive app button, the flag is set.

(2) Your app needs to be in Phone Storage, NOT external storage (e.g. sdcard) otherwise the flag set. The BOOT_COMPLETE is sent before external storage is mounted. So, if app is installed to external storage it won't receive BOOT_COMPLETE broadcast message.

(3) If the application has never been run, the flag is set (never is relative to current boot state ;O) NEVER means in THIS boot OR you invalidated the flag in the last boot state).

A quick way (scripted if you like) to re-enable your service after Force stop assuming BOOT_COMPLETED receiver (I'm guessing you have this, because your fine after reboot):

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

See launchcontrols