Java 在Unity3D C#脚本中将字节数组传递给Android插件

Java 在Unity3D C#脚本中将字节数组传递给Android插件,java,c#,android,unity3d,Java,C#,Android,Unity3d,我正在尝试为Unity3D编写一个Android插件(.aar),并将一个字节数组从C#传递给一个Java方法,该方法应该用数据填充它 //C# code: byte[] buffer = new byte[1024]; int bytesRead = myJavaObject.Call<int>( "read", buffer ); //buffer contains only zeros 我在日志中看到的是: 2020-02-12 16:41:22.717 23831-2385

我正在尝试为Unity3D编写一个Android插件(.aar),并将一个字节数组从C#传递给一个Java方法,该方法应该用数据填充它

//C# code:
byte[] buffer = new byte[1024];
int bytesRead = myJavaObject.Call<int>( "read", buffer );
//buffer contains only zeros
我在日志中看到的是:

2020-02-12 16:41:22.717 23831-23855/?W/Unity:AndroidJNIHelper.GetSignature:使用字节参数已过时,请改用SByte参数 (文件名:./Runtime/Export/Debug/Debug.bindings.h行:35)


当我在C#code中使用
sbyte[]
而不是
byte[]
时,警告消失,但在调用read之后,数组只包含零。我反复检查,数组内容在Java中是正确的。

什么是脚本后端?Mono与API兼容级别.NET 4.x什么是脚本后端?Mono与API兼容级别.NET 4.x
//Java code:
public int read( byte[] buffer )
{
    //fill buffer here...
    return numOfBytesRead;
}