Android Native Code开发学习(一)环境配置
Android Native Code开发学习(一)
本教程为native code学习笔记,希望能够帮到有需要的人
我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大
环境配置
首先我们新建一个native C++项目

然后我们下载NDK和CMake

注意,有时候我们下载完成后还是会显示没有NDK,就是会有一个空指针错误,面对这种情况我们就需要手动指定NDK的目录,如果没有出现这种情况请忽略。下面介绍两种手动指定方法。
NDK指定方法一(好像有bug有时不能用)
直接在下面的NDK位置选择,但大多数时候都是灰色的不能修改,这不知道是不是bug还是说就是这样,所以建议直接用下一种方法

NDK指定方法二
直接在local.properties中修改路径,如果没有ndk.dir的话自己手动加上就可以。

然后我们重新sync一下就可以了,如果你不知道sync是啥,上图

就是这个可爱的大象,大象大象你的鼻子为什么这么长~
然后我们点一下运行

注意,可能会有问题就是让你下载最新的build tool,按它的提示下载就可以了
这是很久以前写的博客,现在在重新回顾技术,重新完善博客,希望可以帮到你
相关文章:
Android Native Code开发学习(一)环境配置
Android Native Code开发学习(一) 本教程为native code学习笔记,希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大 环境配置 首先我们新建一个native C项目 然后我们下载NDK和C…...
Python GUI应用程序开发之wxPython使用详解
概要 wxPython是一个强大的跨平台GUI工具包,它使用Python编程语言开发,提供了丰富的控件功能。如果你是一名Python开发者,而且希望创建一个功能齐全的桌面应用程序,那么wxPython是一个值得考虑的选择。 什么是wxPython wxPython…...
【电子学会真题】青少年软件编程(C语言)等级考试试卷(一级) 2021年9月
试卷下载 pdf 格式下载:https://download.csdn.net/download/SHUTIAN2010/88255543 word 格式下载:https://download.csdn.net/download/SHUTIAN2010/88255558 1.计算乘积 一行两个整数a、b,以空格分隔。(0࿱…...
学习完毕JavaSE的感想
今天,把Java复习完毕了,之前学习的时候,学校里学的总是有限的 ,自己上手操作之后才发觉差的很多,部署服务器发现要学操作系统,学完了web基础 ,又发现还得学前后端分离vue react这些,…...
FastJson的学习
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 fastjson是json的序列化和反序列化 一、添加依赖 <dependency><groupId>com.ali…...
python scrapy框架
scrapy概述 Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试 scrapy安装 pip install scrapy -i https://pypi.tuna.tsinghua…...
滑动窗口系列3-Leetcode134题加油站
在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost &…...
LOIC(low orbit ion cannon)
前言 重要的话说三遍: 该程序仅用于学习用途,请勿用于非法行为上!!! 该程序仅用于学习用途,请勿用于非法行为上!!! 该程序仅用于学习用途,请勿用于非法行为上…...
从格灵深瞳中报稳定盈利,看AI公司的核心竞争力
2023年过半,人工智能产业话题不断。大模型和AIGC掀起热潮,让众多AI公司开始进入新一轮竞赛。但与此同时,不少AI公司依然处于亏损中,研发投入和商业产出难以实现正循环。如何形成健康的商业模式,仍是一大挑战。 AI公司…...
理解 Databend Cluster key 原理及使用
Databend Cluster Key 是指 Databend 可以按声明的 key 排序存储,主要用于用户对时间响应比较高,同时愿意为这个 cluster key 进行额排序操作的用户。 Databend 只支持一个 Cluster key,Cluster key中可以包含多列及表达式。 基本语法 -- 语…...
C++day3(类、this指针、类中的特殊成员函数)
一、Xmind整理: 二、上课笔记整理: 1.类的应用实例 #include <iostream> using namespace std;class Person { private:string name; public:int age;int high;void set_name(string n); //在类内声明函数void show(){cout << "na…...
Qt中的配置文件:实现个性化应用程序配置与保存加载
一、前言 在现代软件开发中,用户对于应用程序的个性化配置和设置变得越来越重要。为了满足用户需求并提供更好的用户体验,开发人员常常需要实现一种机制,以便在每次启动应用程序时能够记住用户上次的配置。这样用户就可以方便地恢复到他们熟悉的环境,无需重新进行所有设置…...
Navicat激活时出现rsa public key not find错误
Navicat激活时出现rsa public key not find错误 在激活时,先不打开应用,先用管理员身份打开注册机Navicat_Keygen_Patch_v5.6_By_DFoX.exe,Navicat v15——>MySql——>Simplified Chinese——>Patch,执行完这些步骤之后…...
FFmpeg5.0源码阅读——URLContext和URLProtocol
摘要:本文描述FFmpeg中URLContext和URLProtocal的实现。 关键字:URLContext、URLProtocal FFmpeg中URLProtocol是具体的协议的抽象,其中定义了对应协议的抽象,其中包含了具体协议的操作函数指针。而URLContext是对协议操作的抽…...
Qt的输出
目录 基本分类 C风格输出 C风格 可以抑制输出 方法一 方法二 在Qt中进行log输出, 一般不使用c中的printf, 也不是使用C中的cout, Qt框架提供了专门用于日志输出的类, 头文件名为 QDebug。 基本分类 qDebug:调试信息提示 qInfo :输出信息 qWarnin…...
长胜证券:久违普涨再现 大盘回升有望加速
获得利好支撑后,大盘开始继续反弹。 沪指周二一路震动反弹,站上3100点整数关口后继续上攻并打破10日均线限制。深成指同样低开高走,全日体现明显强于沪指。 到收盘,沪指报收3135.89点,上涨1.2%;深成指报收…...
WPF .NET 7.0学习整理(一)
参照文档进行不系统的整理,看到那写到那O.o 依赖属性 DependencyProperty:使用专有字段支持属性的标准模式的替代方法。 DependencyObject:定义了可以注册和拥有依赖属性的基类。 public static readonly DependencyProperty IsSpinningPr…...
数据分析简介
判断采集数据的有效性和进行数据校准是数据处理中重要的步骤。以下是一些常见的方法和步骤可以帮助你进行数据有效性的判断和数据校准: 数据有效性判断: 数据范围:检查数据是否落在合理的范围内。根据具体情况,确定真实数据的上下限ÿ…...
解读未知:文本识别算法的突破与实际应用
解读未知:文本识别算法的突破与实际应用 1.文本识别算法理论 背景介绍 文本识别是OCR(Optical Character Recognition)的一个子任务,其任务为识别一个固定区域的的文本内容。在OCR的两阶段方法里,它接在文本检测后面…...
[第七届蓝帽杯全国大学生网络安全技能大赛 蓝帽杯 2023]——Web方向部分题 详细Writeup
Web LovePHP 你真的熟悉PHP吗? 源码如下 <?php class Saferman{public $check True;public function __destruct(){if($this->check True){file($_GET[secret]);}}public function __wakeup(){$this->checkFalse;} } if(isset($_GET[my_secret.flag]…...
AI如何助力人力资源管理:从效率工具到战略伙伴的跃迁
去年某互联网大厂HR负责人跟我说,他们团队用AI筛选简历后,招聘周期从45天缩短到28天,但更让他意外的是——AI还帮他们发现了一个被忽视3年的优质候选人。这个案例折射出AI对人力资源管理的深层改变:不只是提速,更是让H…...
OpenClaw多任务调度:nanobot并行处理邮件与文件整理
OpenClaw多任务调度:nanobot并行处理邮件与文件整理 1. 为什么需要多任务调度 当我第一次尝试用OpenClaw自动化处理日常工作流时,遇到了一个典型问题:当同时需要监控邮件和处理大文件时,系统资源会被单一任务占满。比如在整理几…...
ReAct Agent:新手程序员必看!收藏这款融合推理与行动的AI智能体框架,轻松入门大模型应用开发
ReAct框架通过结合推理与行动,解决了传统提示工程的局限性,构建出能主动思考、决策并执行复杂任务的智能体。本文详细介绍了ReAct的核心设计思想,包括推理模块的动态思考链和错误回溯机制,以及行动模块的工具集成和环境状态感知。…...
保姆级教程:手把手教你安装并激活DevExpress 20.1.3(附资源与注册机使用避坑指南)
深度指南:DevExpress 20.1.3开发环境高效配置与资源管理 在.NET生态系统中,DevExpress始终以其强大的控件库和高效的开发工具占据重要地位。对于刚接触这个工具集的开发者来说,如何快速搭建一个稳定的开发环境往往成为项目启动的第一道门槛。…...
避坑指南:Ollama部署DeepSeek-R1时,如何安全地开放API端口给内网其他服务调用?
深度解析:Ollama部署DeepSeek-R1时内网API安全开放实战 当你在一台Linux服务器上成功部署了Ollama和DeepSeek-R1模型后,下一步自然是想让内网中的其他服务也能调用这个强大的AI能力。但直接开放端口就像把家门钥匙插在锁上——方便但危险。本文将带你深入…...
IDEA 2023.3 配置 JavaWeb 项目完整流程:从新建到打包 War 的保姆级避坑指南
IDEA 2023.3 配置 JavaWeb 项目完整流程:从新建到打包 War 的保姆级避坑指南 作为一名长期使用 IntelliJ IDEA 进行 JavaWeb 开发的工程师,我深知在配置项目时可能遇到的各种"坑"。特别是对于刚接触 IDEA 的新手来说,从项目创建到最…...
SignalAcquisition:嵌入式高精度信号采集与二进制串行传输框架
1. SignalAcquisition 库深度解析:面向嵌入式信号采集的高精度时序控制与二进制串行传输框架1.1 库定位与工程价值SignalAcquisition 是一个专为 Arduino IDE 设计的轻量级、高确定性信号采集库,其核心目标并非提供通用传感器驱动,而是构建一…...
用MediaPipe和Python做个隔空切水果游戏:从手势骨架提取到简单游戏逻辑实现
用MediaPipe和Python打造体感切水果游戏:从手势识别到游戏逻辑全解析 还记得小时候在街机厅玩《水果忍者》的畅快感吗?现在,我们完全可以用Python和MediaPipe技术,在电脑前通过手势隔空切水果!本文将带你从零开始&…...
3大核心功能:让iOS推送调试效率提升10倍的SmartPush工具全解析
3大核心功能:让iOS推送调试效率提升10倍的SmartPush工具全解析 【免费下载链接】SmartPush SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App 项目地址: https://gitcode.com/gh_mirrors/smar/SmartPush 一、问…...
MQTT通信中的QoS级别详解:SpringBoot如何选择最适合的传输质量?
MQTT通信中的QoS级别详解:SpringBoot如何选择最适合的传输质量? 在物联网和分布式系统架构中,消息传输的可靠性往往直接关系到业务逻辑的正确性。MQTT协议作为轻量级发布/订阅模式的通信标准,其QoS(服务质量࿰…...
