при попытке импорта файла ядра падает с ошибкой java.lang.NoSuchMethodError. проблема вызвана использованием метода InputStream.readNBytes(int), который был добавлен в android api только с версии 13 (api 33), на устройствах с более ранними версиями этого метода нет в рантайме (протестировано на android 10, api 29, arm64-v8a)
стек:
java.lang.NoSuchMethodError: No virtual method readNBytes(I)[B in class Ljava/io/InputStream;
at com.vkturn.proxy.viewmodel.MainViewModel$importKernel$2.invokeSuspend(MainViewModel.kt:376)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
кланкер предлагает такое решение:
val bytes = context.contentResolver.openInputStream(uri)?.use { input ->
val buffer = ByteArray(20)
val read = input.read(buffer, 0, 20)
if (read == -1) null else buffer.sliceArray(0 until read)
}
при попытке импорта файла ядра падает с ошибкой java.lang.NoSuchMethodError. проблема вызвана использованием метода InputStream.readNBytes(int), который был добавлен в android api только с версии 13 (api 33), на устройствах с более ранними версиями этого метода нет в рантайме (протестировано на android 10, api 29, arm64-v8a)
стек:
кланкер предлагает такое решение: