APEX uses the latest version of the stub
Previously when an APEX whose min_sdk_version is set is linked to an external library providing multiple versions of stubs, the maximum version that is less than or equal to the min_sdk_version was chosen. For example, if the versions of a library stubs are 28, 29, 30, and 31, then APEX with min_sdk_version: 29 linked to the version 29 of the stub. This was to ensure that the APEX doesn't use any new APIs whose existence can't be guaranteed. This however imposes a severe restriction that the APEX can never use new APIs even when the APIs are actually available: i.e. when the APEX is running on a newer platform. With the recent work about unguarded availability, using the future APIs became much safer. When you use an API that is newer than your min_sdk_version, the API is automatically declared as a weak symbol (thus no link error at runtime), while the call to API is guaranteed to be guarded with the `__builtin_available(...)` macro. So, there really is no reason to use the old version of the stub. We can always use the latest version of stub safely. Bug: N/A Test: m Change-Id: Iaac0d8761d8929154527dc2e861a51ae31e23d49
Loading
Please register or sign in to comment