sonyxperiadev / bug_tracker

Empty repository that is used as a bugtracker for Open Devices project
52 stars 13 forks source link

AOSP14 fails to load keyboard #851

Open rinigus opened 2 weeks ago

rinigus commented 2 weeks ago

Platform: nagara Device: pdx223 Kernel version: 5.15 Android version: android-14_r67 Software binaries version: Patched SW_binaries_for_Xperia_Android_13_5.15_v4a_nagara.zip

Previously working on

on AOSP13 it was working

Description

Android on screen keyboard is not opening.

In the logs:

11-02 17:27:12.755  2514  2514 D nativeloader: Configuring clns-4 for other apk /product/app/LatinIME/LatinIME.apk. target_sdk_version=30, uses_libraries=, library_path=/product/app/LatinIME/lib/arm64:/product/app/LatinIME/LatinIME.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user_de/0/com.android.inputmethod.latin
--
11-02 17:27:16.681  2514  2514 E linker  : library "/product/app/LatinIME/lib/arm64/libjni_latinime.so" ("/product/lib64/libjni_latinime.so") needed or dlopened by "/apex/com.android.art/lib64/libnativeloader.so" is not accessible for the namespace: [name="clns-4", ld_library_paths="", default_library_paths="/product/app/LatinIME/lib/arm64:/product/app/LatinIME/LatinIME.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/user_de/0/com.android.inputmethod.latin"]

probably leading to

11-02 17:27:31.996  2514  2514 E AndroidRuntime: FATAL EXCEPTION: main
--
11-02 17:27:31.996  2514  2514 E AndroidRuntime: Process: com.android.inputmethod.latin, PID: 2514
11-02 17:27:31.996  2514  2514 E AndroidRuntime: android.view.InflateException: Binary XML file line #29 in com.android.inputmethod.latin:layout/input_view: Binary XML file line #21 in com.android.inputmethod.latin:layout/emoji_palettes_view: Error inflating class com.android.inputmethod.keyboard.emoji.EmojiPalettesView
11-02 17:27:31.996  2514  2514 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #21 in com.android.inputmethod.latin:layout/emoji_palettes_view: Error inflating class com.android.inputmethod.keyboard.emoji.EmojiPalettesView
11-02 17:27:31.996  2514  2514 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
--
11-02 17:27:31.996  2514  2514 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: No implementation found for long com.android.inputmethod.keyboard.ProximityInfo.setProximityInfoNative(int, int, int, int, int, int, int[], int, int[], int[], int[], int[], int[], float[], float[], float[]) (tried Java_com_android_inputmethod_keyboard_ProximityInfo_setProximityInfoNative and Java_com_android_inputmethod_keyboard_ProximityInfo_setProximityInfoNative__IIIIII_3II_3I_3I_3I_3I_3I_3F_3F_3F) - is the library loaded, e.g. System.loadLibrary?

Can't figure out how to allow keyboard to load that lib from /product/lib64/libjni_latinime.so

Additional context

Build based on instructions at https://github.com/sonyxperiadev/bug_tracker/issues/848#issuecomment-2452872921

rinigus commented 2 weeks ago

Note that moving the lib into /product/app/LatinIME/lib/arm64/libjni_latinime.so would fix the bug. No idea when such location was introduced or whether there was some other change that resulted in non-working keyboard

bartcubbins commented 2 weeks ago

Google has provided a fix for this in the main branch, but they haven't backported it yet. On the other hand, we can solve this by defining the proper PRODUCT_SHIPPING_API_LEVEL for each platform. But this requires providing some changes to the common repository. I'll do it as soon as possible.

https://android.googlesource.com/platform/art/+/84c0eddb305a3248046edd3f2f8bba03aab3efec

rinigus commented 2 weeks ago

Great find, thank you very much!

bartcubbins commented 1 week ago

Unfortunately I can't send a patch yet. For this we need a bump version of android.harware.radio@1.5 to AIDL or at least to version 1.6 for kernel 5.15 devices, and for this we need fresh blobs