Поддержка Base64 для разных уровней API

В моем приложении для Android

build.gradle

android { compileSdkVersion 27 defaultConfig { minSdkVersion 16 targetSdkVersion 27 ... } .... } 

Код Котлина

 val data = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Base64.getDecoder().decode(str) } else { Base64.decode(str, Base64.DEFAULT) // Unresolved reference: decode } 

Очевидно, что я получил ошибку компиляции при использовании Base64 до API 24.

Но как я могу поддерживать все уровни API и использовать Base64 до 24, как после?

    Использование android.util.Base64 решит вашу проблему с ее помощью от Api 8

     val data= android.util.Base64.decode(str, android.util.Base64.DEFAULT); 

    Вы должны использовать класс android.util.Base64 . Он поддерживается API 8,

    Функция Base64.getDecoder () является частью java.util.Base64 и новой в Java8.