Передайте байтовый массив в плагин Android в сценарии Unity3D C# - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь написать плагин Android (.aar) для Unity3D и передать байтовый массив из C# методу Java, который должен заполнить его данными.

//C# code:
byte[] buffer = new byte[1024];
int bytesRead = myJavaObject.Call<int>( "read", buffer );
//buffer contains only zeros
//Java code:
public int read( byte[] buffer )
{
    //fill buffer here...
    return numOfBytesRead;
}

Что я получаю в своем журнале регистрации, это:

2020-02-12 16: 41: 22.717 23831-23855 /? W / Unity: AndroidJNIHelper.GetSignature: использование параметров байтов устарело, вместо этого используйте параметры SByte (имя файла: ./Runtime/Export/Debug/Debug.bindings.h Строка: 35)

Когда я использую sbyte[] вместо byte[] в моем коде C#, предупреждение исчезает, но массив, после вызова read, содержит только нули. Я дважды проверил, содержимое массива правильно в Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...