public static File getCodeCacheDir(@NonNull Context context) {
        if (Build.VERSION.SDK_INT >= 21) {
            return context.getCodeCacheDir();
        } else {
            ApplicationInfo appInfo = context.getApplicationInfo();
            return createFilesDir(new File(appInfo.dataDir, "code_cache"));
        }
    }
Returns the absolute path to the application specific cache directory on
the filesystem designed for storing cached code. On devices running
{@link Build.VERSION_CODES#LOLLIPOP} or later, the system will delete
any files stored in this location both when your specific application is
upgraded, and when the entire platform is upgraded.
<p>
This location is optimal for storing compiled or optimized code generated
by your application at runtime.
<p>
Apps require no extra permissions to read or write to the returned path,
since this path lives in their private storage.

@return The path of the directory holding application code cache files.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/compat/ContextCompat.java