Android.software.print not available: Can't print on Android 11

Which system do you use? Android, Ubuntu, OOWOW or others?

Android 11 64bit from vim4-android-11-64bit-v220601.raw.img.xz

Which version of system do you use? Khadas official images, self built images, or others?

Official image

Please describe your issue below:

When trying to print through any app (es. Adobe PDF, Microsoft Word and), Android doesn’t do anything, seems like print support is disabled. We tried on 64bit and 32bit android images.
Logcat report:

06-21 10:03:12.253 2155 2155 W PrintManager: Feature android.software.print not available
06-21 10:03:13.348 2155 2155 W PrintManager: Feature android.software.print not available

In addiction, when we try to go in
Settings -> Connected Devices -> Connection preferences
settings app crashes and returns to main settings menu
Log report:

06-21 12:28:24.400  2845  2845 D AdvancedConnectedDeviceFrag: All preferences added, reporting fully drawn
06-21 12:28:24.401  2845  2845 D SettingsActivity: Executed frag manager pendingTransactions
06-21 12:28:24.412  2845  2845 D AndroidRuntime: Shutting down VM
06-21 12:28:24.412  2845  2845 E AndroidRuntime: FATAL EXCEPTION: main
06-21 12:28:24.412  2845  2845 E AndroidRuntime: Process: com.android.settings, PID: 2845
06-21 12:28:24.412  2845  2845 E AndroidRuntime: java.lang.RuntimeException: Failed to call observer method
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:226)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent(ClassesInfoCache.java:194)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks(ClassesInfoCache.java:186)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged(ReflectiveGenericLifecycleObserver.java:37)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:313)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:249)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:291)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:135)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:121)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settingslib.core.lifecycle.ObservablePreferenceFragment.onStart(ObservablePreferenceFragment.java:80)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settings.dashboard.DashboardFragment.onStart(DashboardFragment.java:196)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.Fragment.performStart(Fragment.java:2955)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:586)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1334)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1477)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1555)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1608)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3046)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2997)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:262)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:467)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.Activity.performStart(Activity.java:8018)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3457)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:223)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7664)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
06-21 12:28:24.412  2845  2845 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.print.PrintManager.addPrintJobStateChangeListener(android.print.PrintManager$PrintJobStateChangeListener)' on a null object reference
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settings.print.PrintSettingPreferenceController.onStart(PrintSettingPreferenceController.java:74)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settingslib.core.lifecycle.Lifecycle.onStart(Lifecycle.java:124)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settingslib.core.lifecycle.Lifecycle.access$100(Lifecycle.java:55)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at com.android.settingslib.core.lifecycle.Lifecycle$LifecycleProxy.onLifecycleEvent(Lifecycle.java:222)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        at androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback(ClassesInfoCache.java:222)
06-21 12:28:24.412  2845  2845 E AndroidRuntime:        ... 34 more
06-21 12:28:24.413   397  2084 I audio_hw_primary: -aml_alsa_output_open, audio out(0xefdc0950) device(0) refs(1) is_normal_pcm 1, handle 0xf34413c0
06-21 12:28:24.413   397  2084 I audio_hw_primary: 
06-21 12:28:24.413   397  2084 I audio_hw_primary: +aml_alsa_output_open, adev->pcm_handle[0] 0xf34413c0
06-21 12:28:24.414     0     0 D         : [  151.671152@3]  set mclk:12288000, mpll:491520000, get mclk:12287939, mpll:491517535
06-21 12:28:24.414     0     0 D         : [  151.671159@3]  aml_tdm_set_fmt...0x4011, id(0), clksel(0)
06-21 12:28:24.414     0     0 I         : [  151.671167@3]  master_mode(1), binv(1), finv(1) out_skew(2), in_skew(3)
06-21 12:28:24.414     0     0 D         : [  151.671458@3]  dump_pcm_setting...(0000000000000000)
06-21 12:28:24.414     0     0 D         : [  151.671459@3]     pcm_mode(1)
06-21 12:28:24.414     0     0 D         : [  151.671461@3]     sysclk(12288000)
06-21 12:28:24.414     0     0 D         : [  151.671462@3]     sysclk_bclk_ratio(4)
06-21 12:28:24.414     0     0 D         : [  151.671464@3]     bclk(3072000)
06-21 12:28:24.414     0     0 D         : [  151.671465@3]     bclk_lrclk_ratio(64)
06-21 12:28:24.414     0     0 D         : [  151.671466@3]     lrclk(48000)
06-21 12:28:24.414     0     0 D         : [  151.671468@3]     tx_mask(0x3)
06-21 12:28:24.414     0     0 D         : [  151.671469@3]     rx_mask(0x3)
06-21 12:28:24.414     0     0 D         : [  151.671470@3]     slots(2)
06-21 12:28:24.414     0     0 D         : [  151.671471@3]     slot_width(32)
06-21 12:28:24.414     0     0 D         : [  151.671473@3]     lane_mask_in(0x1)
06-21 12:28:24.414     0     0 D         : [  151.671474@3]     lane_mask_out(0xf)
06-21 12:28:24.414     0     0 D         : [  151.671478@3]  set mclk:12288000, mpll:491520000, get mclk:12287939, mpll:491517535
06-21 12:28:24.414     0     0 D         : [  151.671479@3]  aml_tdm_set_clkdiv, div 4, clksel(0)
06-21 12:28:24.414     0     0 D         : [  151.671482@3]  aml_set_bclk_ratio, select I2S mode
06-21 12:28:24.414     0     0 D         : [  151.671650@3]  aml_tdm_prepare(), reset fddr
06-21 12:28:24.414     0     0 D         : [  151.671664@3]  ss_prepare() 229, lvl 1
06-21 12:28:24.414     0     0 D         : [  151.671668@3]  spdif_a fifo ctrl, frddr:0 type:3, 32 bits, chmask 0xff, swap 0x32
06-21 12:28:24.414     0     0 D [  151.671674@3]  iec_info: rate: 48000, codec_type:0x0, channel status L:0x2000100, R:0x2000100
06-21 12:28:24.414     0     0 D [  151.671680@3]  audio_ddr_mngr: frddr_set_sharebuffer_enable share lvl: 1, dst_src: 3
06-21 12:28:24.414     0     0 D         : [  151.671683@3]  ss_prepare() 229, lvl 2
06-21 12:28:24.414     0     0 D         : [  151.671685@3]  spdif_b fifo ctrl, frddr:0 type:3, 32 bits, chmask 0xff, swap 0x32
06-21 12:28:24.414     0     0 D [  151.671689@3]  iec_info: rate: 48000, codec_type:0x0, channel status L:0x2000100, R:0x2000100
06-21 12:28:24.414     0     0 D [  151.671692@3]  audio_ddr_mngr: frddr_set_sharebuffer_enable share lvl: 2, dst_src: 4
06-21 12:28:24.399   617  1078 E UserRestrictionsUtils: Unknown restriction queried by uid 1000 (android et al): null
06-21 12:28:24.415   617  2923 I DropBoxManagerService: add tag=system_app_crash isTagEnabled=true flags=0x2
06-21 12:28:24.415   617  1078 W ActivityTaskManager:   Force finishing activity com.android.settings/.SubSettings
06-21 12:28:24.438  2845  2845 I Process : Sending signal. PID: 2845 SIG: 9
06-21 12:28:24.436   617  1078 W ActivityTaskManager:   Force finishing activity com.android.settings/.SubSettings
06-21 12:28:24.499   617   710 I DropBoxManagerService: add tag=system_app_strictmode isTagEnabled=true flags=0x2
06-21 12:28:24.499   617  1078 I WindowManager: WIN DEATH: Window{df8017d u0 com.android.settings/com.android.settings.Settings}
06-21 12:28:24.499   617  1082 I ActivityManager: Process com.android.settings (pid 2845) has died: fg  TOP 
06-21 12:28:24.499   617  1078 W InputDispatcher: Attempted to unregister already unregistered input channel 'df8017d com.android.settings/com.android.settings.Settings (server)'
06-21 12:28:24.501   373   373 I Zygote  : Process 2845 exited due to signal 9 (Killed)
06-21 12:28:24.501   617  1084 I WindowManager: WIN DEATH: Window{22663b3 u0 com.android.settings/com.android.settings.SubSettings}
06-21 12:28:24.501   617  1084 W InputDispatcher: Attempted to unregister already unregistered input channel '22663b3 com.android.settings/com.android.settings.SubSettings (server)'
06-21 12:28:24.507   617   711 W ActivityManager: setHasOverlayUi called on unknown pid: 2845
06-21 12:28:24.510   617   711 D CompatibilityChangeReporter: Compat change id reported: 135634846; UID 1000; state: DISABLED
06-21 12:28:24.516   373   373 D Zygote  : Forked child process 2926
06-21 12:28:24.518   617   718 I ActivityManager: Start proc 2926:com.android.settings/1000 for top-activity {com.android.settings/com.android.settings.Settings}
06-21 12:28:24.520  2926  2926 I Zygote  : seccomp disabled by setenforce 0
06-21 12:28:24.541  2926  2926 W ndroid.setting: Using default instruction set features for ARM CPU variant (cortex-a9) using conservative defaults
06-21 12:28:24.544   527   570 I adbd    : jdwp connection from 2926
06-21 12:28:24.545   617   719 I libprocessgroup: Successfully killed process cgroup uid 1000 pid 2845 in 45ms
06-21 12:28:24.557     0     0 D         : [  151.811108@7]  tdm playback mute: 0, lane_cnt = 4
06-21 12:28:24.557     0     0 D         : [  151.811183@7]  asoc-aml-card auge_sound: TDM[0] Playback enable
06-21 12:28:24.557     0     0 D         : [  151.811197@7]  ss_trigger() ss 3
06-21 12:28:24.557     0     0 D         : [  151.811200@7]  spdif_a is set to enable
06-21 12:28:24.557     0     0 D         : [  151.811204@7]  ss_trigger() ss 4
06-21 12:28:24.557     0     0 D         : [  151.811206@7]  spdif_b is set to enable
06-21 12:28:24.557     0     0 D         : [  151.811317@7]  ss_mute() 347, mute 0, id 0
06-21 12:28:24.557     0     0 D         : [  151.811321@7]  ss_mute() 347, mute 0, id 1
06-21 12:28:24.564  2926  2926 I ndroid.setting: The ClassLoaderContext is a special shared library.
06-21 12:28:24.571  2926  2926 I ndroid.setting: The ClassLoaderContext is a special shared library.
06-21 12:28:24.583  2926  2926 D NetworkSecurityConfig: No Network Security Config specified, using platform default
06-21 12:28:24.584  2926  2926 D NetworkSecurityConfig: No Network Security Config specified, using platform default
06-21 12:28:24.600   398  1705 I android.hardware.bluetooth@1.0-service-droidlogic: wole_config_cback, status = 0, opcode=0xfe54
06-21 12:28:24.605   437  1646 W SurfaceFlinger: Can't find offset for 59.94 fps
06-21 12:28:24.656  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.network.TopLevelNetworkEntryPreferenceController
06-21 12:28:24.659  2926  2926 I TetheringManager: registerTetheringEventCallback:com.android.settings
06-21 12:28:24.663  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController
06-21 12:28:24.663  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.fuelgauge.TopLevelBatteryPreferenceController
06-21 12:28:24.664  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.display.TopLevelDisplayPreferenceController
06-21 12:28:24.664  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.deviceinfo.TopLevelStoragePreferenceController
06-21 12:28:24.664  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.location.TopLevelLocationPreferenceController
06-21 12:28:24.665  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.security.TopLevelSecurityEntryPreferenceController
06-21 12:28:24.665  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.accounts.TopLevelAccountEntryPreferenceController
06-21 12:28:24.665  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.accessibility.TopLevelAccessibilityPreferenceController
06-21 12:28:24.666  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController
06-21 12:28:24.666  2926  2926 D PrefCtrlListHelper: Could not find Context-only controller for pref: com.android.settings.support.SupportPreferenceController
06-21 12:28:24.672  2926  2926 W InstrumentedPrefFrag: Screen title missing for fragment com.android.settings.homepage.TopLevelSettings
06-21 12:28:24.682  2926  2926 D TopLevelSettings: NO dashboard tiles for TopLevelSettings
06-21 12:28:24.682  2926  2926 D TopLevelSettings: All preferences added, reporting fully drawn
06-21 12:28:24.683   617   716 I ActivityTaskManager: Fully drawn com.android.settings/.Settings: +20s50ms
06-21 12:28:24.704   429   523 W APM::AudioPolicyEngine: getDevicesForStrategy() unknown strategy: -1
06-21 12:28:24.704   617  1084 I system_server: oneway function results will be dropped but finished with status OK and parcel size 4
06-21 12:28:24.777   617  1082 D CompatibilityChangeReporter: Compat change id reported: 136274596; UID 1000; state: ENABLED
06-21 12:28:24.781  2926  2926 W ContextualCardManager: Legacy suggestion contextual card enabled, skipping contextual cards.
06-21 12:28:24.783  2926  2926 W BatteryBroadcastRcvr: Problem reading the battery meter.
06-21 12:28:24.803  2926  2926 D AvatarViewMixin: Feature disabled by config. Skipping
06-21 12:28:24.809     0     0 E         : [  152.066534@0]  meson-gx-mmc fe088000.sdio: 52 [0x92003e01], TIMEOUT[0x2800]
06-21 12:28:24.812  2926  2926 W UnsafeUtil: platform method missing - proto runtime falling back to safer methods: java.lang.NoSuchMethodException: sun.misc.Unsafe.copyMemory [class java.lang.Object, long, class java.lang.Object, long, long]
06-21 12:28:24.813     0     0 E         : [  152.067765@0]  meson-gx-mmc fe088000.sdio: 52 [0x92003e01], TIMEOUT[0x2800]
06-21 12:28:24.813     0     0 E         : [  152.069013@0]  meson-gx-mmc fe088000.sdio: 52 [0x92003e01], TIMEOUT[0x2800]
06-21 12:28:24.829  2926  2926 W BatteryBroadcastRcvr: Problem reading the battery meter.
06-21 12:28:24.829  2525  2545 D SuggestionParser: Day 0 for com.android.settings.suggested.category.DEFERRED_SETUP
06-21 12:28:24.830  2525  2545 D CandidateSuggestionFilter: filterCandidates duration: 0
06-21 12:28:24.830  2525  2545 D SuggestionParser: Day 0 for com.android.settings.suggested.category.HIGH_PRIORITY
06-21 12:28:24.831  2525  2545 D CandidateSuggestionFilter: filterCandidates duration: 0
06-21 12:28:24.831  2525  2545 D SuggestionParser: Day 0 for com.android.settings.suggested.category.FIRST_IMPRESSION
06-21 12:28:24.828   423   423 I wifi@1.0-servic: type=1400 audit(0.0:103): avc: denied { getattr } for path="/data/vendor/wifi/wifi_module" dev="dm-5" ino=996509 scontext=u:r:hal_wifi_default:s0 tcontext=u:object_r:vendor_data_file:s0 tclass=file permissive=1
06-21 12:28:24.839  2525  2545 I FeatureEligibility: com.android.settings/com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity requires unavailable feature android.hardware.fingerprint
06-21 12:28:24.846  2525  2556 D CandidateSuggestionFilter: Suggestion state result Bundle[{candidate_is_complete=false}]
06-21 12:28:24.844   308   308 I Binder:308_2: type=1400 audit(0.0:104): avc: denied { read } for name="wakeup33" dev="sysfs" ino=49084 scontext=u:r:system_suspend:s0 tcontext=u:object_r:sysfs:s0 tclass=dir permissive=1
06-21 12:28:24.854     0     0 W [  152.105689@5]  audit: audit_lost=12 audit_rate_limit=5 audit_backlog_limit=64
06-21 12:28:24.853  2926  2926 W LayerDrawable: Invalid drawable added to LayerDrawable! Drawable already belongs to another owner but does not expose a constant state.
06-21 12:28:24.853  2926  2926 W LayerDrawable: java.lang.RuntimeException
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:1857)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1977)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.graphics.drawable.LayerDrawable.createConstantState(LayerDrawable.java:173)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:1782)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:687)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.content.res.Resources.loadDrawable(Resources.java:993)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.content.res.Resources.getDrawableForDensity(Resources.java:983)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.content.res.Resources.getDrawable(Resources.java:922)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at android.content.Context.getDrawable(Context.java:693)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.core.content.ContextCompat.getDrawable(ContextCompat.java:456)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:144)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:132)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.appcompat.content.res.AppCompatResources.getDrawable(AppCompatResources.java:66)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.preference.Preference.onBindViewHolder(Preference.java:543)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.preference.PreferenceGroupAdapter.onBindViewHolder(PreferenceGroupAdapter.java:420)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at com.android.settings.widget.HighlightablePreferenceGroupAdapter.onBindViewHolder(HighlightablePreferenceGroupAdapter.java:110)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at com.android.settings.widget.HighlightablePreferenceGroupAdapter.onBindViewHolder(HighlightablePreferenceGroupAdapter.java:43)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7178)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7258)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6125)
06-21 12:28:24.853  2926  2926 W LayerDrawable:         at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6391)

Try adding <feature name="android.software.print" /> characters to tv_core_hardware.xml file. The operation steps are as follows:

C:\Users\25348>adb root && adb remount
remount succeeded

C:\Users\25348>adb pull system/etc/permissions/tv_core_hardware.xml .
system/etc/permissions/tv_core_hardware.xml: 1 file pulled. 0.5 MB/s (1696 bytes in 0.003s)

C:\Users\25348>adb push C:\Users\25348\tv_core_hardware.xml system/etc/permissions/tv_core_hardware.xml
C:\Users\25348\tv_core_hardware.xml: 1 file pushed. 0.2 MB/s (1739 bytes in 0.011s)

C:\Users\25348>adb shell
VIM4:/ # sync
VIM4:/ # reboot

Thanks for your feedback. This bug will be handled in the next version.

@goenjoy thanks for your prompt reply, we are testing vim4 capabilities in e-health applications and printing was a key function in having medical reports on paper
your solution works great: adding the xml code enabled the print feature and even solved the “connection preferences” crash