La Red de Conocimientos Pedagógicos - Currículum vitae - Clion compila jni, pero la solución no puede encontrar jni.h

Clion compila jni, pero la solución no puede encontrar jni.h

La biblioteca dinámica generada en el entorno de Windows es dll

La biblioteca dinámica generada en Linux es so

La biblioteca dinámica generada en Mac es dylib

Entonces, para los desarrolladores de Android, aún necesitan usar las herramientas ndk

Simplemente pegue el archivo .h generado en idea en el proyecto clion.

Si no puede encontrarlo it Para jni.h, puede agregar una referencia al archivo jni.h en CMakeList.txt

de la siguiente manera:

Las siguientes tres líneas se completan de acuerdo con la ubicación real de jdk, que se utiliza para importar archivos de encabezado relacionados con jni, otros sistemas operativos pueden no ser completamente consistentes

Copie el archivo de encabezado .h com_shenby_jni_JniExample.h

e implemente la función com_shenby_jni_JniExample .c

definido en este archivo Agregue y genere una biblioteca compartida dinámica en CMakeList.txt

add_library: genere una biblioteca, add_executable: genere un archivo ejecutable

> hola: es el nombre de la biblioteca compartida generada, el prefijo lib se agregará automáticamente al frente. Por ejemplo, aquí Windows genera libhello.dll

COMPARTIDO: el tipo de biblioteca es dinámica y .dll. se genera en Windows, mientras que STATIC genera una biblioteca estática, que es generada por Windows

com_shenby_jni_JniExample.c: c archivo fuente, se agregan varios archivos al final. Recuerde no agregar el com_shenby_jni_JniExample anterior. .h

; de lo contrario, la función en la biblioteca generada está vacía

El resultado es el siguiente

Puede pegar el archivo dll en el directorio raíz del proyecto de idea y ejecutarla