ndk -DANDROID_STL=c++_static" does not exist.
摘要:一、概述 在使用android的jni能力的时候出现了编译错误 -DANDROID_STL=c++_static" does not exist. 产生这个异常的原因是找不到了STL静态库。 二、解决办法 使用动态库就行了 arguments "-DANDROID_STL=c++_shared"
阅读全文
posted @
2024-09-20 15:25
飘杨......
阅读(56)
推荐(0) 编辑
java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found: needed by
摘要:一、概述 在AndroidStudio中集成opencv,使用其native函数时报的一个错误 二、解决办法 opencv提供的native文件夹中提供的是动态库 但是在gradle中的配置中,配置的stl是静态的,将其改为shared就行了 externalNativeBuild { cmake
阅读全文
posted @
2024-09-18 17:41
飘杨......
阅读(916)
推荐(0) 编辑
ndk+cmake编译出现xxxx.app.main | debug | armeabi-v7a Compiler exited with error code 1:
摘要:一、概述 问题现象: 在做NDK开发时,项目能正常运行。kotlin/java端不报错。ndk端(cpp)会出现找不到系统头文件的情况。如:<jni.h>文件都找不到。但是此时项目运行起来是一点问题没有。 此时的在ndk的cpp文件夹下写代码是没有智能提示的,那效率是相当的低,果断不能。 使用cma
阅读全文
posted @
2024-09-11 09:51
飘杨......
阅读(77)
推荐(0) 编辑
android从java/kotlin层传递bitmap给jni并使用其像素
摘要:一、概述 在做jni开发的时候,有些情况下会直接通过java/kotlin层传递bitmap给jni,并取出其数据进行利用。 例如:OpenGL ES绘制纹理、保存像素图片等。 二、代码示例 1.在cmake中引入可以操作jni层BitmapInfo的lib jnigraphics -landroi
阅读全文
posted @
2024-09-06 17:18
飘杨......
阅读(66)
推荐(0) 编辑
android利用jni读取assets文件夹下的文件
摘要:一、概述 在jni的开发中,有时候会在c/c++层读取assets文件夹下的图片。 有两种方式可以选择: 方式一:在java/kotlin层把文件读取出来,然后以字符串的形式传递给jni层。 方式二:java/kotlin层传递一个文件名,jni利用AAssetManager读取文件内容 目前介绍的
阅读全文
posted @
2024-09-06 17:13
飘杨......
阅读(152)
推荐(0) 编辑
ndk集成stb_image.h
摘要:一、概述 使用步骤: 1.在ndk入口cpp中加入一个宏。ps:最好加最上面 #include <jni.h> #include <string> #define STB_IMAGE_IMPLEMENTATION 2.在使用的时候导入头文件 //导入stb_image头文件 #include "st
阅读全文
posted @
2024-09-05 17:57
飘杨......
阅读(54)
推荐(0) 编辑
JNI动态注册
摘要:一、概述 案例:在AndroidStudio中使用JNI来实现动态注册 注意事项: 1.每一个线程中有一个JNIEnv env。JNIEnv不能夸线程使用 2.在其他线程中使用JNIEnv ,请使用JavaVM vm (虚拟机)获取,获取方法如下: vm->AttachCurrentThread(&
阅读全文
posted @
2022-08-08 10:10
飘杨......
阅读(621)
推荐(0) 编辑
JNI中Kotlin和C++相互调用例子通解
摘要:一、概述 案例:回顾JNI开发,主要回顾Java调用C/C++函数及C/C++调用Java类的方法 1.JNI与Java数据类型对照表: 2.JNI各种签名对照表: 二、Java和C/C++相互操作的示例代码 1.定义一个Person.kt实体 package com.yw.player.myjni
阅读全文
posted @
2022-08-05 11:45
飘杨......
阅读(2056)
推荐(0) 编辑