GetMethodID GetStaticMethodID存在Android ndk jni问题

GetMethodID GetStaticMethodID存在Android ndk jni问题,android,java-native-interface,Android,Java Native Interface,我正在寻找对我的一个项目的帮助。 我正在使用最新的android ndk 21d。 我正在进行android原生jni项目。 到目前为止,我已经做到了这一点 cl=env->FindClass(“com/android/internal/x/x”) 这是我的问题,总是返回NULL MethodID=env->GetMethodID(cl,“xyzfunction”,“(com/android/internal/x/x;[B[B,I)I”); 我尝试过GetStaticMethodID和GetMe

我正在寻找对我的一个项目的帮助。 我正在使用最新的android ndk 21d。 我正在进行android原生jni项目。 到目前为止,我已经做到了这一点

cl=env->FindClass(“com/android/internal/x/x”)

这是我的问题,总是返回NULL

MethodID=env->GetMethodID(cl,“xyzfunction”,“(com/android/internal/x/x;[B[B,I)I”);

我尝试过GetStaticMethodID和GetMethodID返回相同的结果。 有没有办法在JNI中使用android内部api? 同一类GetStaticFieldID工作正常。但方法无法获取。我检查了方法是否声明为公共。 并且能够通过binder方法调用

任何帮助建议。如果需要提供帮助,请回复

我也做了测试


MethodID=env->GetMethodID(cl,“xyzfunction”,“([B[B,I)I”)
结果是一样的。

您是如何生成方法签名的?逗号看起来不正确。请使用
javap-s
生成内部签名,人们自己永远不会正确。您可能也不应该戳内部Android类。您好,谢谢大家的回答。我有反向方法来获取函数签名使用jdx使用byte[],byte[],int和return int..我仔细检查了相同的方法与binder的工作,它有不同的问题,因为第二个参数是无法通过binder发送的字节数组。你们都是对的,我的错误是“([B[B,i)i”now”([B[BI)i”正在工作。谢谢大家。