首页 > 其他分享 >Android JNI学习-使用第三方SO库

Android JNI学习-使用第三方SO库

时间:2024-03-20 11:11:55浏览次数:23  
标签:log library so Test SO Android main JNI

https://david1840.github.io/2018/12/03/Android-JNI学习-使用第三方SO库/

CMakeList.txt
在CMake中将LibTest.so导入工程

cmake_minimum_required(VERSION 3.4.1)

add_library( # Sets the name of the library.
             UseSo

             # Sets the library as a shared library.
             SHARED

             # Provides a relative path to your source file(s).
             src/main/jni/UseSo.c )
             
#导入第三方so包,并声明为 IMPORTED 属性,指明只是想把 so 导入到项目中
add_library( Test
             SHARED
             IMPORTED )
             
#指明 so 库的路径,CMAKE_SOURCE_DIR 表示 CMakeLists.txt 的路径             
set_target_properties(
             Test
             PROPERTIES IMPORTED_LOCATION
             ${CMAKE_SOURCE_DIR}/src/main/jniLibs/armeabi-v7a/libTest.so )

#指明头文件路径,不然会提示找不到 so 的方法
include_directories(src/main/jni/)

find_library(log-lib

              log )

target_link_libraries( # Specifies the target library.
                       UseSo

                       Test

                       ${log-lib} )

build.gradle

ndk {
    abiFilters 'armeabi-v7a'
}

标签:log,library,so,Test,SO,Android,main,JNI
From: https://www.cnblogs.com/jsxzhub/p/18084813

相关文章

  • SocketIO高性能事件驱动设计探索
    来源:https://segmentfault.com/a/1190000021554678?utm_source=tag-newest背景SocketIO原生基于NodeJS实现的Web长连接技术方案,H5原生场景下通常使用websocket作为基础协议进行网络通信(客户端支持多语言),SocketIO对于长连接场景下的业务形态进行了很多方面的抽象和实现,比如:命名空......
  • C++ Qt开发:QUdpSocket实现组播通信
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QUdpSocket组件实现基于UDP的组播通信。组播是一种一对多的通信方式,允许一个发送者将数......
  • C# 中使对象序列化/反序列化 Json 支持使用派生类型以及泛型的方式
    C#中使对象序列化/反序列化Json支持使用派生类型以及泛型方式废话#前言#为啥想写这个博客最近自己写的框架有用到这个类似工作流,支持节点编码自定义,动态运行自定义.尽量减少动态解析这就需要确定类型.有什么好的奇思妙想可以一起来讨论噢(现在还是毛坯,测......
  • package-lock.json
    生成package-lock.json文件:1、运行npminstall命令,npm将自动生成package-lock.json文件。2、如果你已经安装了依赖,但是没有生成package-lock.json文件:运行npminstall--save命令,这将会更新package-lock.json文件,并确保所有依赖项都被正确记录。3、如果你想要使用package-lock......
  • Cannot resolve com.microsoft.sqlserver:sqljdbc4:4.0解决方案
    问题:<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version></dependency>爆红解决方案1手动下载jar包MavenRepository:com.microsoft.sqlserver»sqljdbc4»4.0......
  • 290_Cannot resolve com.sun:tools:1.8 Cannot resolve com.sun:jconsole:1.8
    参考文档:https://www.jb51.net/article/194123.htm问题:maven加载报错Cannotresolvecom.sun:tools:1.8Cannotresolvecom.sun:jconsole:1.8解决:pom.xml引入时排除掉这两个依赖,再重新加载maven<dependency><groupId>com.alibaba</groupId>......
  • Android使用MediaRecorder进行录像,暂停和继续录像的VideoUtils
    使用MediaRecorder进行录像,要注意再设置MediaRecorder的参数的时候设置,这里也是查了网上很多代码都没有一个完整能实现的,或多或少都有点问题。还有再暂停/继续录制的时候要注意将Camera的预览关闭camera.stopPreview()不然预览的界面还是会继续动给人暂停了还在录制的错觉。还有......
  • 050_Microsoft Azure平台实验
    目录Azure平台简介Azure机器学习实验观察数据集导入数据总结数据集数据上传至Azure机器学习实验创建新的Azure机器学习实验分割数据集模型训练选择预测项模型评分模型计算结果的可视化模型评估Azure平台简介Azure机器学习实验观察数据集导入数据总结数据集数据上......
  • console方法
    1.table()console.table():可以很轻松的将对象数组显示为表格,每个对象一行,每个属性一列。  2.trace()我们可以使用trace()来获取我们的调用堆栈,对于调试非常管用。  3.count() console.count()可以记录当前方法的调用次数。看下面这个示例可以使用co......
  • Open Sora 发布!开源的高效复现类 Sora 视频生成方案
    不久前OpenAISora的发布可以说是震惊了世界,但是奈何目前OpenAI还未将Sora开放公测,但在昨天,我们却等来了OpenSora1.0的发布,这是Colossal-AI团队的一个完全开源的视频生成项目,致力于高效制作高质量视频,并使所有人都能使用其模型、工具和内容的计划。通过采用开......