Accessibility is unable to perform gestures and clicks
Describe the bug
I haven't seen any discussion around this yet, but it appears that apps that take advantage of Accessibility are unable to perform any touch actions.
Screenshots I've recorded a quick example using the app 'Click Assistant', but I've tested several on this device and none seem to work.
https://www.dropbox.com/s/u7x1016ej8oss8c/Accessibility_Bug.mov?dl=0
I'm running a build of redroid11 with both magisk and gapps
$ docker -v
Docker version 23.0.2, build 569dd73
$ uname -a
Linux xxx 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
docker run -itd --privileged \
--name redroidm \
-v /home/xxx/.config/appdata/redroid11m:/data \
-p 5555:5555 \
redroid/redroid:11.0.0_gapps_magisk \
androidboot.use_memfd=1 \
androidboot.redroid_width=1080 \
androidboot.redroid_height=1920 \
androidboot.redroid_gpu_mode=auto
Not sure about this App. But I use some other Accessibility Apps (auto perform click to install apps) without problems.
I've been attempting to recreate this issue by loading in APKs from various auto-clicker apps from the app store [QuickTouch, Click Assistant, Auto Clicker, Fate/Grand Automata], and have been unsuccessful in getting any to work. The images I tested were the hosted version of redroid11 & redroid12, with no configs or flags enabled, while connecting via scrcpy.
I've double checked that Accessibility is enabled in the settings for these apps too.
I'll try this out on MacOS the next chance I have.
Can you please provide an example of an auto-clicker that works for you?
Tested com.tencent.android.qqdownloader (App Store from Tencent) in redroid 11, should choose chinese in system settings.
描述这个错误 我还没有看到任何关于这个问题的讨论,但似乎利用该错误的应用程序
Accessibility无法执行任何触摸操作。我使用“Click Assistant”应用程序 录制了一个快速示例,但我在此设备上测试了几个,但似乎都不起作用。
https://www.dropbox.com/s/u7x1016ej8oss8c/Accessibility_Bug.mov?dl=0
我正在运行 redroid11 的构建,同时使用 Magisk 和 Gapps
$ docker -v Docker version 23.0.2, build 569dd73$ uname -a Linux xxx 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linuxdocker run -itd --privileged \ --name redroidm \ -v /home/xxx/.config/appdata/redroid11m:/data \ -p 5555:5555 \ redroid/redroid:11.0.0_gapps_magisk \ androidboot.use_memfd=1 \ androidboot.redroid_width=1080 \ androidboot.redroid_height=1920 \ androidboot.redroid_gpu_mode=auto
Describe the bug I haven't seen any discussion around this yet, but it appears that apps that take advantage of
Accessibilityare unable to perform any touch actions.Screenshots I've recorded a quick example using the app 'Click Assistant', but I've tested several on this device and none seem to work.
https://www.dropbox.com/s/u7x1016ej8oss8c/Accessibility_Bug.mov?dl=0
I'm running a build of redroid11 with both magisk and gapps
$ docker -v Docker version 23.0.2, build 569dd73$ uname -a Linux xxx 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linuxdocker run -itd --privileged \ --name redroidm \ -v /home/xxx/.config/appdata/redroid11m:/data \ -p 5555:5555 \ redroid/redroid:11.0.0_gapps_magisk \ androidboot.use_memfd=1 \ androidboot.redroid_width=1080 \ androidboot.redroid_height=1920 \ androidboot.redroid_gpu_mode=auto
I have also encountered this issue and cannot use accessible clicks. Have you resolved it?
Not sure about this App. But I use some other Accessibility Apps (auto perform click to install apps) without problems.
What accessibility app are you using?
App store from Tencent (应用宝 in Chinese). Make sure to change to Chinese language in Settings.
App store from Tencent (应用宝 in Chinese). Make sure to change to Chinese language in Settings.
https://github.com/remote-android/redroid-doc/issues/453
请问这个问题解决了吗,我用AutoXjs同样有这个问题,基于控件的点击可以使用,但是基于坐标的点击不能使用,基于坐标的点击是通过sendEvent发送事件实现的
Does it have anything to do with this?
https://github.com/remote-android/redroid-doc/issues/443#issuecomment-1790575864
https://github.com/remote-android/redroid-doc/issues/453
I've been attempting to recreate this issue by loading in APKs from various auto-clicker apps from the app store [QuickTouch, Click Assistant, Auto Clicker, Fate/Grand Automata], and have been unsuccessful in getting any to work. The images I tested were the hosted version of redroid11 & redroid12, with no configs or flags enabled, while connecting via scrcpy.
I've double checked that Accessibility is enabled in the settings for these apps too.
I'll try this out on MacOS the next chance I have.
Can you please provide an example of an auto-clicker that works for you?
I tried recompiling redroid-11 and added back /dev/input and
https://github.com/remote-android/platform_system_core/blob/redroid-11.0.0/rootdir/ueventd.rc#L12
Fate/Grand Automata still cannot simulate clicks.
I did see a lot of errors about /dev/input before recompiling. After recompiling, although no errors were reported, the simulated click did not take effect.
@NepPure Are all these automation tools AccessibilityService based? Then /dev/input should not related. Personally, I use com.tencent.android.qqdownloader (应用宝), and the scient installation feature works as expected (be sure change to Chinese language).
@NepPure Are all these automation tools
AccessibilityServicebased? Then/dev/inputshould not related. Personally, I usecom.tencent.android.qqdownloader(应用宝), and the scient installation feature works as expected (be sure change to Chinese language).
@zhouziyang
Yes, they are AccessibilityService based.com.tencent.android.qqdownloader is only used for installation, but these APPs are suitable for simulating user operations, so there should be some differences. I changed to Android 13 and found a new error message.
I don’t know much about Android. What Google told me seems to be referring to a missing package?
Add logs for redroid/redroid:13.0.0-latest.
--------- beginning of crash
12-23 03:06:43.880 90 90 F libc : Fatal signal 8 (SIGFPE), code 1 (FPE_INTDIV), fault addr 0x70de49dd27dd in tid 90 ([email protected]), pid 90 ([email protected])
12-23 03:06:43.897 853 853 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-23 03:06:43.897 853 853 F DEBUG : Build fingerprint: 'redroid/redroid_x86_64/redroid_x86_64:13/TQ3C.230901.001.B1/eng.frank.20231013.070002:userdebug/test-keys'
12-23 03:06:43.897 853 853 F DEBUG : Revision: '0'
12-23 03:06:43.897 853 853 F DEBUG : ABI: 'x86_64'
12-23 03:06:43.897 853 853 F DEBUG : Timestamp: 2023-12-23 03:06:43.887343303+0000
12-23 03:06:43.897 853 853 F DEBUG : Process uptime: 0s
12-23 03:06:43.897 853 853 F DEBUG : Cmdline: /vendor/bin/hw/[email protected]
12-23 03:06:43.897 853 853 F DEBUG : pid: 90, tid: 90, name: [email protected] >>> /vendor/bin/hw/[email protected] <<<
12-23 03:06:43.897 853 853 F DEBUG : uid: 1000
12-23 03:06:43.897 853 853 F DEBUG : signal 8 (SIGFPE), code 1 (FPE_INTDIV), fault addr 0x000070de49dd27dd
12-23 03:06:43.897 853 853 F DEBUG : rax 0000000000000100 rbx 000070df1a029010 rcx 0000000000000000 rdx 0000000000000000
12-23 03:06:43.897 853 853 F DEBUG : r8 000070deea02f6b0 r9 0000000000000001 r10 0000000000000003 r11 0000000000000002
12-23 03:06:43.897 853 853 F DEBUG : r12 0000000000000004 r13 0000000000000004 r14 0000000000000035 r15 000070df0a03ab40
12-23 03:06:43.897 853 853 F DEBUG : rdi 00007fff1eb3ff74 rsi 0000000000000001
12-23 03:06:43.897 853 853 F DEBUG : rbp 000070deea02f6a0 rsp 00007fff1eb3fe80 rip 000070de49dd27dd
12-23 03:06:43.897 853 853 F DEBUG : backtrace:
12-23 03:06:43.897 853 853 F DEBUG : #00 pc 00000000000067dd /vendor/lib64/hw/gralloc.gbm.so (gralloc_gbm_bo_create+621)
12-23 03:06:43.897 853 853 F DEBUG : #01 pc 00000000000061e6 /vendor/lib64/hw/gralloc.gbm.so
12-23 03:06:43.897 853 853 F DEBUG : #02 pc 0000000000004354 /vendor/lib64/hw/[email protected] (android::hardware::graphics::allocator::V2_0::passthrough::detail::Gralloc0HalImpl<android::hardware::graphics::allocator::V2_0::hal::AllocatorHal>::allocateBuffers(android::hardware::hidl_vec<unsigned int> const&, unsigned int, unsigned int*, std::__1::vector<native_handle const*, std::__1::allocator<native_handle const*> >*)+292) (BuildId: 1a5679ebe4509a1a737939f9d3bc7eb8)
12-23 03:06:43.897 853 853 F DEBUG : #03 pc 0000000000004663 /vendor/lib64/hw/[email protected] (android::hardware::graphics::allocator::V2_0::hal::detail::AllocatorImpl<android::hardware::graphics::allocator::V2_0::IAllocator, android::hardware::graphics::allocator::V2_0::hal::AllocatorHal>::allocate(android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)+83) (BuildId: 1a5679ebe4509a1a737939f9d3bc7eb8)
12-23 03:06:43.897 853 853 F DEBUG : #04 pc 000000000000e463 /apex/com.android.vndk.v33/lib64/[email protected] (android::hardware::graphics::allocator::V2_0::BnHwAllocator::_hidl_allocate(android::hidl::base::V1_0::BnHwBase*, android::hardware::Parcel const&, android::hardware::Parcel*, std::__1::function<void (android::hardware::Parcel&)>)+451) (BuildId: 8cc74abbff773b4243f400de9800cb73)
12-23 03:06:43.897 853 853 F DEBUG : #05 pc 000000000000e7e5 /apex/com.android.vndk.v33/lib64/[email protected] (android::hardware::graphics::allocator::V2_0::BnHwAllocator::onTransact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+325) (BuildId: 8cc74abbff773b4243f400de9800cb73)
12-23 03:06:43.897 853 853 F DEBUG : #06 pc 000000000009ab39 /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::BHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+137) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
12-23 03:06:43.897 853 853 F DEBUG : #07 pc 00000000000a014a /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::executeCommand(int)+3770) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
12-23 03:06:43.897 853 853 F DEBUG : #08 pc 000000000009f135 /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::getAndExecuteCommand()+229) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
12-23 03:06:43.897 853 853 F DEBUG : #09 pc 00000000000a072f /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+191) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
12-23 03:06:43.897 853 853 F DEBUG : #10 pc 0000000000001928 /vendor/bin/hw/[email protected] (main+120) (BuildId: f64afa93aade51f6b9a874d0dce6a85f)
12-23 03:06:43.897 853 853 F DEBUG : #11 pc 0000000000050cc9 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: f090904cc3ac285a6f190f8003c3eb0e)
12-23 03:06:44.041 87 114 F libc : /buildbot/src/android/ndk-release-r23/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating" failed
12-23 03:06:44.042 87 114 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 114 (HwBinder:87_1), pid 87 (binder:87_2)
12-23 03:06:44.045 883 883 E AndroidRuntime: FATAL EXCEPTION: main
12-23 03:06:44.045 883 883 E AndroidRuntime: PID: 883
12-23 03:06:44.045 883 883 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.attachApplication(android.app.IApplicationThread, long)' on a null object reference
12-23 03:06:44.045 883 883 E AndroidRuntime: at android.app.ActivityThread.attach(ActivityThread.java:7612)
12-23 03:06:44.045 883 883 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7911)
12-23 03:06:44.045 883 883 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-23 03:06:44.045 883 883 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
12-23 03:06:44.045 883 883 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
12-23 03:06:44.046 883 883 E AndroidRuntime: Error reporting crash
12-23 03:06:44.046 883 883 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
12-23 03:06:44.046 883 883 E AndroidRuntime: at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:156)
12-23 03:06:44.046 883 883 E AndroidRuntime: at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1073)
12-23 03:06:44.046 883 883 E AndroidRuntime: at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
12-23 03:06:44.046 883 883 E AndroidRuntime: at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)
12-23 03:06:44.058 902 902 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-23 03:06:44.058 902 902 F DEBUG : Build fingerprint: 'redroid/redroid_x86_64/redroid_x86_64:13/TQ3C.230901.001.B1/eng.frank.20231013.070002:userdebug/test-keys'
12-23 03:06:44.058 902 902 F DEBUG : Revision: '0'
12-23 03:06:44.058 902 902 F DEBUG : ABI: 'x86'
12-23 03:06:44.058 902 902 F DEBUG : Timestamp: 2023-12-23 03:06:44.048152016+0000
12-23 03:06:44.058 902 902 F DEBUG : Process uptime: 0s
12-23 03:06:44.058 902 902 F DEBUG : Cmdline: /vendor/bin/hw/android.hardware.audio.service
12-23 03:06:44.058 902 902 F DEBUG : pid: 87, tid: 114, name: HwBinder:87_1 >>> /vendor/bin/hw/android.hardware.audio.service <<<
12-23 03:06:44.058 902 902 F DEBUG : uid: 1041
12-23 03:06:44.058 902 902 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
12-23 03:06:44.058 902 902 F DEBUG : Abort message: '/buildbot/src/android/ndk-release-r23/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating" failed'
12-23 03:06:44.058 902 902 F DEBUG : eax 00000000 ebx 00000057 ecx 00000072 edx 00000006
12-23 03:06:44.058 902 902 F DEBUG : edi e7522e5e esi e628d800
12-23 03:06:44.058 902 902 F DEBUG : ebp e84e8540 esp e628d7a8 eip e84e8549
12-23 03:06:44.058 902 902 F DEBUG : backtrace:
12-23 03:06:44.058 902 902 F DEBUG : #00 pc 00000549 [vdso] (__kernel_vsyscall+9)
12-23 03:06:44.058 902 902 F DEBUG : #01 pc 0005d468 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
12-23 03:06:44.058 902 902 F DEBUG : #02 pc 000794c1 /apex/com.android.runtime/lib/bionic/libc.so (abort+209) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
12-23 03:06:44.058 902 902 F DEBUG : #03 pc 000799b1 /apex/com.android.runtime/lib/bionic/libc.so (__assert2+49) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
12-23 03:06:44.058 902 902 F DEBUG : #04 pc 000cb554 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
12-23 03:06:44.058 902 902 F DEBUG : #05 pc 000cb688 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
12-23 03:06:44.058 902 902 F DEBUG : #06 pc 000e4a69 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
12-23 03:06:44.058 902 902 F DEBUG : #07 pc 000e499d /vendor/lib/libc++_shared.so (std::terminate()+45) (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
12-23 03:06:44.058 902 902 F DEBUG : #08 pc 000ca5e8 /vendor/lib/libc++_shared.so (std::__ndk1::thread::~thread()+40) (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
12-23 03:06:44.058 902 902 F DEBUG : #09 pc 000067a5 /vendor/lib/hw/audio.primary.redroid.so
12-23 03:06:44.059 902 902 F DEBUG : #10 pc 00019442 /vendor/lib/hw/[email protected] (virtual thunk to android::hardware::audio::V7_0::implementation::Device::~Device()+98) (BuildId: f63ae365a5a0d668f3980691428c56ee)
12-23 03:06:44.059 902 902 F DEBUG : #11 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
12-23 03:06:44.059 902 902 F DEBUG : #12 pc 0002d724 /vendor/lib/hw/[email protected] (android::hardware::audio::V7_0::implementation::StreamOut::~StreamOut()+500) (BuildId: f63ae365a5a0d668f3980691428c56ee)
12-23 03:06:44.059 902 902 F DEBUG : #13 pc 0002d904 /vendor/lib/hw/[email protected] (virtual thunk to android::hardware::audio::V7_0::implementation::StreamOut::~StreamOut()+52) (BuildId: f63ae365a5a0d668f3980691428c56ee)
12-23 03:06:44.059 902 902 F DEBUG : #14 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
12-23 03:06:44.059 902 902 F DEBUG : #15 pc 00091644 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hidl::base::V1_0::BnHwBase::~BnHwBase()+196) (BuildId: ec84e21646112ff70ba0aa160baadd27)
12-23 03:06:44.059 902 902 F DEBUG : #16 pc 000b578c /vendor/lib/[email protected] (android::hardware::audio::V7_0::BnHwStreamOut::~BnHwStreamOut()+204) (BuildId: aebe35f7786069cb88ecd27a1a1f8c50)
12-23 03:06:44.059 902 902 F DEBUG : #17 pc 000b5964 /vendor/lib/[email protected] (virtual thunk to android::hardware::audio::V7_0::BnHwStreamOut::~BnHwStreamOut()+52) (BuildId: aebe35f7786069cb88ecd27a1a1f8c50)
12-23 03:06:44.059 902 902 F DEBUG : #18 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
12-23 03:06:44.059 902 902 F DEBUG : #19 pc 0009d807 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::IPCThreadState::processPendingDerefs()+119) (BuildId: ec84e21646112ff70ba0aa160baadd27)
12-23 03:06:44.059 902 902 F DEBUG : #20 pc 0009d9c7 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+183) (BuildId: ec84e21646112ff70ba0aa160baadd27)
12-23 03:06:44.059 902 902 F DEBUG : #21 pc 000a9a89 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::PoolThread::threadLoop()+41) (BuildId: ec84e21646112ff70ba0aa160baadd27)
12-23 03:06:44.059 902 902 F DEBUG : #22 pc 00012dbb /apex/com.android.vndk.v33/lib/libutils.so (android::Thread::_threadLoop(void*)+347) (BuildId: 0a47f53f330bd80fae32c38df6570510)
12-23 03:06:44.059 902 902 F DEBUG : #23 pc 00012723 /apex/com.android.vndk.v33/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+195) (BuildId: 0a47f53f330bd80fae32c38df6570510)
12-23 03:06:44.059 902 902 F DEBUG : #24 pc 000e91c4 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
12-23 03:06:44.059 902 902 F DEBUG : #25 pc 0007ad07 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
12-23 03:06:44.070 143 143 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 143 (main), pid 143 (main)
https://developer.android.com/reference/android/accessibilityservice/GestureDescription.StrokeDescription
I tested that gesture simulation doesn't work for redroid/redroid:11.0.0-latest.
(:з」∠) need help. Thank you very much!!!
Code demo:
var from = start
val mouseDownPath = Path().moveTo(start)
var lastStroke = GestureDescription.StrokeDescription(
mouseDownPath,
0,
200L,
true
).also {
performGesture(it)
}
Due to touchscreen mis-config, AccessibilityService::dispatchGesture() is not working. Will be fixed soon.
As a workaround, try bind mount the following xml file (docker run ... -v <PATH>/android.hardware.touchscreen.xml:/vendor/etc/permissions/android.hardware.touchscreen.xml ...).
android.hardware.touchscreen.xml
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<feature name="android.hardware.touchscreen" />
<feature name="android.hardware.faketouch" />
</permissions>
As a workaround, try bind mount the following
xmlfile (docker run ... -v <PATH>/android.hardware.touchscreen.xml:/vendor/etc/permissions/android.hardware.touchscreen.xml ...).
android.hardware.touchscreen.xml<?xml version="1.0" encoding="utf-8"?> <permissions> <feature name="android.hardware.touchscreen" /> <feature name="android.hardware.faketouch" /> </permissions>
I tried redroid-13-latest and it crashed when I opened the accessibility settings.
--------- beginning of crash
01-24 19:25:20.428 90 90 F libc : Fatal signal 8 (SIGFPE), code 1 (FPE_INTDIV), fault addr 0x7a9183a327dd in tid 90 ([email protected]), pid 90 ([email protected])
01-24 19:25:20.445 614 614 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-24 19:25:20.445 614 614 F DEBUG : Build fingerprint: 'redroid/redroid_x86_64/redroid_x86_64:13/TQ3C.230901.001.B1/eng.frank.20231013.070002:userdebug/test-keys'
01-24 19:25:20.445 614 614 F DEBUG : Revision: '0'
01-24 19:25:20.445 614 614 F DEBUG : ABI: 'x86_64'
01-24 19:25:20.445 614 614 F DEBUG : Timestamp: 2024-01-24 19:25:20.434530030+0800
01-24 19:25:20.445 614 614 F DEBUG : Process uptime: 0s
01-24 19:25:20.445 614 614 F DEBUG : Cmdline: /vendor/bin/hw/[email protected]
01-24 19:25:20.445 614 614 F DEBUG : pid: 90, tid: 90, name: [email protected] >>> /vendor/bin/hw/[email protected] <<<
01-24 19:25:20.445 614 614 F DEBUG : uid: 1000
01-24 19:25:20.445 614 614 F DEBUG : signal 8 (SIGFPE), code 1 (FPE_INTDIV), fault addr 0x00007a9183a327dd
01-24 19:25:20.445 614 614 F DEBUG : rax 0000000000000100 rbx 00007a9253d819d0 rcx 0000000000000000 rdx 0000000000000000
01-24 19:25:20.445 614 614 F DEBUG : r8 00007a9223d8b200 r9 0000000000000001 r10 0000000000000003 r11 0000000000000002
01-24 19:25:20.445 614 614 F DEBUG : r12 0000000000000004 r13 0000000000000004 r14 0000000000000035 r15 00007a9243da30e0
01-24 19:25:20.445 614 614 F DEBUG : rdi 00007fff9a60a984 rsi 0000000000000001
01-24 19:25:20.445 614 614 F DEBUG : rbp 00007a9223d8b1f0 rsp 00007fff9a60a890 rip 00007a9183a327dd
01-24 19:25:20.445 614 614 F DEBUG : backtrace:
01-24 19:25:20.445 614 614 F DEBUG : #00 pc 00000000000067dd /vendor/lib64/hw/gralloc.gbm.so (gralloc_gbm_bo_create+621)
01-24 19:25:20.445 614 614 F DEBUG : #01 pc 00000000000061e6 /vendor/lib64/hw/gralloc.gbm.so
01-24 19:25:20.445 614 614 F DEBUG : #02 pc 0000000000004354 /vendor/lib64/hw/[email protected] (android::hardware::graphics::allocator::V2_0::passthrough::detail::Gralloc0HalImpl<android::hardware::graphics::allocator::V2_0::hal::AllocatorHal>::allocateBuffers(android::hardware::hidl_vec<unsigned int> const&, unsigned int, unsigned int*, std::__1::vector<native_handle const*, std::__1::allocator<native_handle const*> >*)+292) (BuildId: 1a5679ebe4509a1a737939f9d3bc7eb8)
01-24 19:25:20.445 614 614 F DEBUG : #03 pc 0000000000004663 /vendor/lib64/hw/[email protected] (android::hardware::graphics::allocator::V2_0::hal::detail::AllocatorImpl<android::hardware::graphics::allocator::V2_0::IAllocator, android::hardware::graphics::allocator::V2_0::hal::AllocatorHal>::allocate(android::hardware::hidl_vec<unsigned int> const&, unsigned int, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, unsigned int, android::hardware::hidl_vec<android::hardware::hidl_handle> const&)>)+83) (BuildId: 1a5679ebe4509a1a737939f9d3bc7eb8)
01-24 19:25:20.445 614 614 F DEBUG : #04 pc 000000000000e463 /apex/com.android.vndk.v33/lib64/[email protected] (android::hardware::graphics::allocator::V2_0::BnHwAllocator::_hidl_allocate(android::hidl::base::V1_0::BnHwBase*, android::hardware::Parcel const&, android::hardware::Parcel*, std::__1::function<void (android::hardware::Parcel&)>)+451) (BuildId: 8cc74abbff773b4243f400de9800cb73)
01-24 19:25:20.445 614 614 F DEBUG : #05 pc 000000000000e7e5 /apex/com.android.vndk.v33/lib64/[email protected] (android::hardware::graphics::allocator::V2_0::BnHwAllocator::onTransact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+325) (BuildId: 8cc74abbff773b4243f400de9800cb73)
01-24 19:25:20.445 614 614 F DEBUG : #06 pc 000000000009ab39 /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::BHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+137) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
01-24 19:25:20.445 614 614 F DEBUG : #07 pc 00000000000a014a /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::executeCommand(int)+3770) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
01-24 19:25:20.445 614 614 F DEBUG : #08 pc 000000000009f135 /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::getAndExecuteCommand()+229) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
01-24 19:25:20.445 614 614 F DEBUG : #09 pc 00000000000a072f /apex/com.android.vndk.v33/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+191) (BuildId: 12acd7a8d896b120f2b2ec0e5a00a104)
01-24 19:25:20.445 614 614 F DEBUG : #10 pc 0000000000001928 /vendor/bin/hw/[email protected] (main+120) (BuildId: f64afa93aade51f6b9a874d0dce6a85f)
01-24 19:25:20.445 614 614 F DEBUG : #11 pc 0000000000050cc9 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: f090904cc3ac285a6f190f8003c3eb0e)
01-24 19:25:20.613 670 670 E AndroidRuntime: FATAL EXCEPTION: main
01-24 19:25:20.613 670 670 E AndroidRuntime: PID: 670
01-24 19:25:20.613 670 670 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
01-24 19:25:20.670 87 99 F libc : /buildbot/src/android/ndk-release-r23/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating" failed
01-24 19:25:20.670 87 99 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 99 (HwBinder:87_2), pid 87 (binder:87_2)
01-24 19:25:20.687 723 723 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-24 19:25:20.687 723 723 F DEBUG : Build fingerprint: 'redroid/redroid_x86_64/redroid_x86_64:13/TQ3C.230901.001.B1/eng.frank.20231013.070002:userdebug/test-keys'
01-24 19:25:20.687 723 723 F DEBUG : Revision: '0'
01-24 19:25:20.687 723 723 F DEBUG : ABI: 'x86'
01-24 19:25:20.687 723 723 F DEBUG : Timestamp: 2024-01-24 19:25:20.675779648+0800
01-24 19:25:20.687 723 723 F DEBUG : Process uptime: 0s
01-24 19:25:20.687 723 723 F DEBUG : Cmdline: /vendor/bin/hw/android.hardware.audio.service
01-24 19:25:20.687 723 723 F DEBUG : pid: 87, tid: 99, name: HwBinder:87_2 >>> /vendor/bin/hw/android.hardware.audio.service <<<
01-24 19:25:20.687 723 723 F DEBUG : uid: 1041
01-24 19:25:20.687 723 723 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
01-24 19:25:20.687 723 723 F DEBUG : Abort message: '/buildbot/src/android/ndk-release-r23/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating" failed'
01-24 19:25:20.687 723 723 F DEBUG : eax 00000000 ebx 00000057 ecx 00000063 edx 00000006
01-24 19:25:20.687 723 723 F DEBUG : edi ee853e5e esi ecebd800
01-24 19:25:20.687 723 723 F DEBUG : ebp ef1f6540 esp ecebd7a8 eip ef1f6549
01-24 19:25:20.687 723 723 F DEBUG : backtrace:
01-24 19:25:20.687 723 723 F DEBUG : #00 pc 00000549 [vdso] (__kernel_vsyscall+9)
01-24 19:25:20.687 723 723 F DEBUG : #01 pc 0005d468 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
01-24 19:25:20.687 723 723 F DEBUG : #02 pc 000794c1 /apex/com.android.runtime/lib/bionic/libc.so (abort+209) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
01-24 19:25:20.687 723 723 F DEBUG : #03 pc 000799b1 /apex/com.android.runtime/lib/bionic/libc.so (__assert2+49) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
01-24 19:25:20.687 723 723 F DEBUG : #04 pc 000cb554 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
01-24 19:25:20.687 723 723 F DEBUG : #05 pc 000cb688 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
01-24 19:25:20.687 723 723 F DEBUG : #06 pc 000e4a69 /vendor/lib/libc++_shared.so (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
01-24 19:25:20.687 723 723 F DEBUG : #07 pc 000e499d /vendor/lib/libc++_shared.so (std::terminate()+45) (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
01-24 19:25:20.687 723 723 F DEBUG : #08 pc 000ca5e8 /vendor/lib/libc++_shared.so (std::__ndk1::thread::~thread()+40) (BuildId: dbfa6bc85c9f80f5ee21e5ce5958bd32c820118f)
01-24 19:25:20.687 723 723 F DEBUG : #09 pc 000067a5 /vendor/lib/hw/audio.primary.redroid.so
01-24 19:25:20.687 723 723 F DEBUG : #10 pc 00019442 /vendor/lib/hw/[email protected] (virtual thunk to android::hardware::audio::V7_0::implementation::Device::~Device()+98) (BuildId: f63ae365a5a0d668f3980691428c56ee)
01-24 19:25:20.687 723 723 F DEBUG : #11 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
01-24 19:25:20.687 723 723 F DEBUG : #12 pc 0002d724 /vendor/lib/hw/[email protected] (android::hardware::audio::V7_0::implementation::StreamOut::~StreamOut()+500) (BuildId: f63ae365a5a0d668f3980691428c56ee)
01-24 19:25:20.687 723 723 F DEBUG : #13 pc 0002d904 /vendor/lib/hw/[email protected] (virtual thunk to android::hardware::audio::V7_0::implementation::StreamOut::~StreamOut()+52) (BuildId: f63ae365a5a0d668f3980691428c56ee)
01-24 19:25:20.687 723 723 F DEBUG : #14 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
01-24 19:25:20.687 723 723 F DEBUG : #15 pc 00091644 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hidl::base::V1_0::BnHwBase::~BnHwBase()+196) (BuildId: ec84e21646112ff70ba0aa160baadd27)
01-24 19:25:20.687 723 723 F DEBUG : #16 pc 000b578c /vendor/lib/[email protected] (android::hardware::audio::V7_0::BnHwStreamOut::~BnHwStreamOut()+204) (BuildId: aebe35f7786069cb88ecd27a1a1f8c50)
01-24 19:25:20.687 723 723 F DEBUG : #17 pc 000b5964 /vendor/lib/[email protected] (virtual thunk to android::hardware::audio::V7_0::BnHwStreamOut::~BnHwStreamOut()+52) (BuildId: aebe35f7786069cb88ecd27a1a1f8c50)
01-24 19:25:20.687 723 723 F DEBUG : #18 pc 0000e88f /apex/com.android.vndk.v33/lib/libutils.so (android::RefBase::decStrong(void const*) const+95) (BuildId: 0a47f53f330bd80fae32c38df6570510)
01-24 19:25:20.687 723 723 F DEBUG : #19 pc 0009d807 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::IPCThreadState::processPendingDerefs()+119) (BuildId: ec84e21646112ff70ba0aa160baadd27)
01-24 19:25:20.687 723 723 F DEBUG : #20 pc 0009d9c7 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+183) (BuildId: ec84e21646112ff70ba0aa160baadd27)
01-24 19:25:20.687 723 723 F DEBUG : #21 pc 000a9a89 /apex/com.android.vndk.v33/lib/libhidlbase.so (android::hardware::PoolThread::threadLoop()+41) (BuildId: ec84e21646112ff70ba0aa160baadd27)
01-24 19:25:20.687 723 723 F DEBUG : #22 pc 00012dbb /apex/com.android.vndk.v33/lib/libutils.so (android::Thread::_threadLoop(void*)+347) (BuildId: 0a47f53f330bd80fae32c38df6570510)
01-24 19:25:20.687 723 723 F DEBUG : #23 pc 00012723 /apex/com.android.vndk.v33/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+195) (BuildId: 0a47f53f330bd80fae32c38df6570510)
01-24 19:25:20.687 723 723 F DEBUG : #24 pc 000e91c4 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
01-24 19:25:20.687 723 723 F DEBUG : #25 pc 0007ad07 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) (BuildId: aa38a999b4afbf524dc294d4b3b61c09)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: FATAL EXCEPTION: main
01-24 19:26:09.662 1206 1206 E AndroidRuntime: Process: com.android.settings, PID: 1206
01-24 19:26:09.662 1206 1206 E AndroidRuntime: java.lang.RuntimeException: Failed to call observer method
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:232)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:199)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:191)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:40)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:271)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:313)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:151)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onStart(ObservablePreferenceFragment.java:80)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settings.core.InstrumentedPreferenceFragment.onStart(InstrumentedPreferenceFragment.java:71)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settings.dashboard.DashboardFragment.onStart(DashboardFragment.java:201)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settings.accessibility.AccessibilitySettings.onStart(AccessibilitySettings.java:202)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.Fragment.performStart(Fragment.java:3081)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:587)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:113)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1396)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2911)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2839)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:273)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:425)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1543)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.Activity.performStart(Activity.java:8367)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3670)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7924)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.android.settingslib.bluetooth.BluetoothEventManager com.android.settingslib.bluetooth.LocalBluetoothManager.getEventManager()' on a null object reference
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settings.accessibility.AccessibilityHearingAidPreferenceController.onStart(AccessibilityHearingAidPreferenceController.java:113)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settingslib.core.lifecycle.Lifecycle.onStart(Lifecycle.java:124)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settingslib.core.lifecycle.Lifecycle.-$$Nest$monStart(Unknown Source:0)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at com.android.settingslib.core.lifecycle.Lifecycle$LifecycleProxy.onLifecycleEvent(Lifecycle.java:222)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:228)
01-24 19:26:09.662 1206 1206 E AndroidRuntime: ... 36 more
@NepPure Check https://github.com/remote-android/redroid-doc/issues/443#issuecomment-1790575864 already fixed in source code (docker images are not get updated yet; try build from source). Try settings put secure enabled_accessibility_services <YOUR-INPUT-SERVICE-COMPONENT> to grant this permission.
@zhouziyang Thank you very much, I will wait patiently for the image update.
I can confirm that the above workaround of .xml bind is working as expected with android 12. ( Couldn't make it to work with 11 tho).
Rustdesk is working without any issues after using this patch! Thank you @zhouziyang