该错误
base operand of '->' has non-pointer type表明您应该使用
.而不是
->。
因此,无论您使用
(*env).NewByteArray(env, 16);还是
env->NewByteArray(env,16);。这与第216行相同。
您还会在下一行(215)处看到另一个错误
cannot convert "brace-enclosed initializer list>" to'jbyte*' in assignment,因为赋值的括号语法仅在声明数组/指针的地方有效(我认为它也取决于编译器,但我不确定)。
您应该尝试:
jbyte resultType[16] = {52, 14, 25, 32, 75, 83, 35, 89, 40, 69, 35, 73, 84, 82, 35, 30};希望这可以帮助。


![正确地从JNI返回硬编码的byte []到Java 正确地从JNI返回硬编码的byte []到Java](http://www.mshxw.com/aiimages/31/463862.png)
