Как вызвать Java метод из NDK(JNI)?

96
09 февраля 2021, 18:00

В своем андроид приложении я использую NDK и у меня есть вот такой метод

static byte[] getBytes(Bitmap bitmap)
{
    int size = bitmap.getRowBytes() * bitmap.getHeight();
    ByteBuffer byteBuffer = ByteBuffer.allocate(size);
    bitmap.copyPixelsToBuffer(byteBuffer);
    return byteBuffer.array();
}

Теперь мне нужно достучатья к этому методу из JNI

Я написал вот такой метод

jbyteArray arr = env->CallStaticByteMethod(jniIds.helper_class, jniIds.get_bytes, image_obj);

Но, проблема в том, что метод CallStaticByteMethod возвращает jbyte, а мне нужно jbyteArray

Как правильно написать этот метод?

READ ALSO
Intellij Idea проблема с подсказками

Intellij Idea проблема с подсказками

Сделал pull проекта на другой компьютерТеперь Idea подчеркивает названия View в контроллере, которые я разрешаю TilesViewResolver, в jsp не видит модель...

123
Android retrofit копия запроса

Android retrofit копия запроса

В андроид(ява) приложение есть запрос (retrofit 2)

98
Как убрать метку @Deprecated с класса?

Как убрать метку @Deprecated с класса?

Пишу код в IIDEAЯ что-то такое нажал и метод Color теперь перечёркнутый

95
ScheduledExecutorService && garbage collection

ScheduledExecutorService && garbage collection

Есть многопоточное приложениеОдин из методов создает экземпляр ScheduledExecutorService

117