ну посути в котлине я ничего не делаю кроме как com.sun.jna.Pointer.createConstant(ptr) генерирую ptr я в либе на Rust, там хранится картинка декодированная из h264 или png уже сконверченная в bgra.. указатель на нее отправляю в flutter там dart MethodChannel отправляет в нативный код kotlin или ObjC для macos/ios дальше идет из objC/kotlin обращение к этому указателю, кидается он на текстуру в opengl в objc под macos все работает, kotlin же под андройдом падает вот прям на той строчке.. т.е. я и обращаться к нему не обращался, только привел Long к указателю значения его проверял что в расте, что в ObjC/Kotlin они одинаковые
Вобщем в зависимости build.gradle нужно добавить implementation 'net.java.dev.jna:jna:5.11.0@aar' именно с aar, а то там бинарных либ не будет.. получить данные можно таким кодом, все работает.. val jnaPtr = com.sun.jna.Pointer(ptr) val buf = jnaPtr.getByteBuffer(0, size)
Обсуждают сегодня