In the classes directory, the studio corresponds to the directory app\build\intermediates\classes and execute: javap -s full class name
The characters in "()" represent parameters, and the following ones represent the return value. For example "()V" means void Func();
"(II)V" 表示 void Func(int, int);
"(Ljava/lang/String;Ljava/lang/String;)V" character Java type C type
V void void
Z jboolean boolean
I jint int
J jlong long
D jdouble double
F jfloat float
B jbyte byte
C jchar char
S jshort short array Then start with "[", and use two characters to represent [I jintArray int[]
[F jfloatArray float[]
[B jbyteArray byte[]
[C jcharArray char[]
[S jshortArray short[]
[D jdoubleArray double[]
[J jlongArray long[]
[Z jbooleanArray boolean[]
The above are all basic types. If the parameter of the Java function is class, it starts with "L" and ends with ";" and the package and class names separated by "/". The parameter of the corresponding C function name is jobject. An exception is the String class, whose corresponding class is jstring
Ljava/lang/String; String jstring
Ljava/net/Socket; Socket jobject
If the JAVA function is located in an embedded class, then Use $ as the delimiter between class names.
For example "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"