Android添加C++/CPP项目代码(2)

news2025/1/11 13:00:39

Android添加C++/CPP项目代码(2)

 

(1)选中某个module,右键,Add C++ to Module

24703004aa4f4bc99355ada2fd18372c.png

在随后弹出的选项框中选第一个,OK。 

 

(2)此时会在app下产生一个cpp目录和两个文件:

5512b05fa3bb4a68b06a9e95368e4178.png

 xxx.cpp和CMakeLists.txt文件。

 

(3)上层Java接口定义:

3f7be2c6192440c2a7316cfd689a08ef.png

 其中,loadLibrary()里面填写的即是(2)里面的xxx.cpp的xxx名字。

新增的getStringCpp()是新增的一个方法,因为没有实现所以报红。在红色警报处点右键,创建这个java层函数的jni方法:

f57c022478bd4f6cae95ee903b594091.png

 

(4)随后在xxx.cpp里面ide自动生成一个cpp函数:

6300a1accb8d46eb9810618b85791e6a.png

 

实现这个xxx.cpp里面的getStringCpp()函数:

ef25e7128f4842f0974bb0319a29d519.png

 以上完成后,就可以在Java层像使用普通Java函数一样使用getStringCpp()

 

Android导入第三方SO库,上层Java调用(1)_zhangphil的博客-CSDN博客(3)把第三方的.so库文件放到\app\libs下。需要注意的,现在一般是64位的so库,如果app\libs下没有\arm64-v8a文件夹,需要新建arm64-v8a目录文件,然后把64位的so库放到。(2)在module的路径下,比如app\下,如果有app\libs目录,不需新建,如果没有,在app\下,新建libs,形成\app\libs目录。Android NDK(JNI)开发_ndk-r10e 版本对应什么sdk_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/130204631

 

Android NDK(JNI)开发_ndk-r10e 版本对应什么sdk_zhangphil的博客-CSDN博客《基于Windows平台,Android NDK(JNI)开发技术》【摘要】本文介绍如何基于Windows平台,在Eclipse中使用Android NDK技术实现“Android平台上的JNI ( Java Native Interface ) ”开发。Android NDK开发需要一定的Java JNI技术基础。Android NDK实质,可以简单的认为是Android平台https://blog.csdn.net/zhangphil/article/details/46812723

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/436477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TiDB实战篇-BR进行数据备份与恢复

简介 使用BR进行数据备份与恢复。 原理 Backup备份的时候在PD上面找到表的元数据,然后找到对应的TiKV数据以后,直接备份到外部系统中(注意如果没有像HDFS这样的分布式文件存储,那么它每个TiKV备份到本地的文件就只有一部分数据&…

nssctf web 入门(10)

[NISACTF 2022]midlevel [NISACTF 2022]midlevel 尝试使用x-forwarded-for 发现可行判断是不是ssti 确定是ssti模板注入 [NISACTF 2022]is secret [NISACTF 2022]is secret 根据这个我们去看看secret 这里看到这个猜测是通过get传入secret的值然后会机密我们的值 我们发现传…

优秀软件方法学“漫游记”

你好,我是东(在极客时间的 ID 是 Fredo)。大学的时候我读的是计算机专业,现在是一名工作了近3年的程序员,很高兴能和你分享我的学习体会。 我是怎样学习课程的? 首先聊聊我是怎么学习这门课的。 DDD 是一…

智网工程师培训一些心得

智网工程师培训一些心得 MYSQLApache Flask开发小程序 MYSQL MYSQL的日期如果定义为datetime类型,比较的时候可以使用 entry_form.exercise_date between 2022-1-1 and 2023-4-19 日期可以是非2位宽对齐方式 日期比较也可以使用大于或者小于号MYSQL支持定时备份数…

学习数据结构第6天(栈的基本概念)

栈的基本概念 栈的定义栈的基本操作栈的存储结构 栈的定义 栈(Stack)是一种基于先进后出(FILO)或者后进先出(LIFO)的数据结构,是一种只允许在一端进行插入和删除操作的特殊线性表。 栈按照先进后出的原则存储数据,先进入的数据被压入栈底,最…

数据结构初阶(链表)

文章目录 一、链表的基础概念1.1 什么是链表1.2 分类1.3 链表的底层代码1.4 例题1.5 LinkedList 的实现(1)什么是LInkedList(2)底层代码(3)LinkedLIst的使用 1.6 ArrayList和LinkedList的区别 一、链表的基…

Spring底层架构核心概念

文章目录 Spring底层架构核心概念BeanDefinitionBeanDefinitionReaderAnnotatedBeanDefinitionReaderXmlBeanDefinitionReaderClassPathBeanDefinitionScanner BeanFactoryApplicationContext国际化资源加载获取运行时环境事件发布 类型转换PropertyEditorConversionServiceTyp…

20行Python代码获取 心碎榜单文件保存本地,准备开始emo......

人生苦短 我用python(emo版) (语气充满悲伤…) 今天咱们试试只用20行代码来实现 批量获取 某某云 文件保存本地,炒鸡简单! 悄悄的告诉你,其实不到20行代码~ 事前准备 软件环境 环境Python3.8编辑器是pycharm 模块…

轻松掌握k8s的kubectl使用命令行操作01知识点

程序员使用的kubectl,只能在主节点使用kubectl命令 1、查看集群所有节点 kubectl get nodes 2、根据配置文件,给集群创建资源 kubectl apply -f xxxx.yaml 3、查看集群部署了哪些应用 kubectl get pods -A 4、指定查看命名空间部署了哪些应用 不指…

[DSCoding2] 反转链表——迭代法

题目描述 核心思路 观察上图可以发现,将链表反转后,原有的结点间的引用关系发生了改变,比如反转前1指向2,反转后2指向1, 所以我们可以从修改节点间的引用关系下手。 在遍历链表时,将当前节点的next指针指向…

ReentrantLock原理

实现了Lock接口 内部也维护了一个同步器Sync继承自AQS,Sync是抽象的,两个实现NonFairSync和FairSync public ReentrantLock() {sync new NonfairSync(); } public ReentrantLock(boolean fair) {sync fair ? new FairSync() : new NonfairSync(); }非…

算法训练Day30:332.重新安排行程 51. N皇后 37. 解数独

文章目录 重新安排行程题解 [N 皇后](https://leetcode.cn/problems/n-queens/description/)题解 解数独题解 重新安排行程 CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsHard (47.57%)7650--0 Tags Companies 给你一份航线列表 tickets &#xf…

微服务学习——微服务

认识微服务 单体架构 将业务的所有功能集中在一个项目中开发,打成一个包部署。 优点: 架构简单部署成本低 缺点: 耦合度高 分布式架构 根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。 优点: 降低服务耦合有利…

【LeetCode】剑指 Offer 58. 反转字符串 p284 -- Java Version

1. 题目介绍(58. 反转字符串) 面试题58:翻转字符串, 一共分为两小题: 题目一:翻转单词顺序题目二:左旋转字符串 2. 题目1:翻转单词顺序 题目链接:https://leetcode.cn/p…

使用 ip2region 获取用户的 IP 归属地

目录 1. ip2region 简介2. 使用步骤2.1 下载资源2.2 引入依赖2.3 编写工具类2.3.1 获取 IP 地址2.3.2 根据 IP 地址获取 IP 归属地2.3.3 完整代码 2.4 结果测试 1. ip2region 简介 ip2region 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率&…

部署zabbix代理服务器和snmp监控

目录 zabbix代理服务器 分布式监控的作用 部署zabbix代理服务器 在 Web 页面配置 agent 代理 snmp监控 SNMP简介 部署zabbix-snmp 服务端安装snmp监控程序 在 Web 页面配置 snmp 方式监控 zabbix代理服务器 分布式监控的作用 分担 server 的集中式压力 解决多机房之…

HTTP | 强缓存与协商缓存

缓存,开发绕不开的环节。 web缓存分为很多种,比如数据库缓存、代理服务器缓存、CDN缓存,以及浏览器缓存(localStorage, sessionstorage, cookie)。 一个web应用,需要各式各样的资源(html/css/…

【C++】C++11 右值引用和移动语义

文章目录 一、左值与左值引用二、右值与右值引用三、左值引用和右值引用的比较四、右值引用的使用场景和意义1、左值引用的短板2、移动构造和移动赋值3、STL 容器的变化 五、万能引用与完美转发1、万能引用2、完美转发 六、新增默认成员函数七、成员变量的缺省值八、default 和…

【Blender建模】newbird从零开始学+新手常见问题处理

目标 第一阶段:在跟着教程下,熟悉如何使用blender 教程地址:https://www.youtube.com/watch?vnIoXOplUvAw 一、移动、旋转、扩展各视角下的物体,熟悉各个窗口 鼠标中键(Shift)控制视角的方向 ~键快速选择…

Redis --- 入门、数据类型

一、前言 1.1、什么是Redis Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。 基于内存存储,读写性能高适合存储热点…