Igalia / wpe-android

WPE WebKit for Android
GNU Lesser General Public License v2.1
63 stars 13 forks source link

App crashes on startup on Android 11 devices #158

Open maxiannunziata opened 1 year ago

maxiannunziata commented 1 year ago

The function ASurfaceControl_release is not available in the API 28 of Android that you are compiling against. It was introduced in Android version 29, and it appears that you are compiling against an earlier version of Android that does not support this function.

/home/anz/Android/Project/wpe-android-main/wpe/src/main/cpp/Browser/RendererASurfaceTransaction.cpp:42:9: error: 'ASurfaceControl_release' is unavailable: introduced in Android 

[clang-diagnostic-error]

The need to add compatibility to API 28 for old devices arises because not all devices can upgrade to the latest version of Android. Many older devices may not have the hardware capabilities to support newer versions of Android, or they may not receive updates from their manufacturers. This means that a significant portion of the Android user base may be using devices with older versions of Android.

If your app requires a minimum API level of 29 (the version that introduced ASurfaceControl_release), then it will not be compatible with devices running older versions of Android. By adding compatibility to API 28, you can ensure that your app can be used by a larger audience, including users with older devices.

Additionally, supporting older versions of Android can also help improve the performance and stability of your app. Many older devices may have limited memory or processing power, and supporting older versions of Android can help ensure that your app runs smoothly on these devices.

Overall, adding compatibility to API 28 for old devices can help ensure that your app can reach a larger audience and provide a better user experience for all users, regardless of the version of Android they are running.

zhani commented 3 weeks ago

Support for older than API 30 was dropped because this is still prototype and we wanted to focus on only recent Android versions. We did have support for API 28 and older version but it was dropped at some point. Maybe it's reasonable to bring API 28 support back