当前位置: 首页 > news >正文

Android - NDK:编译可执行程序在android设备上运行

在android开发中,调试时会把C代码直接编译成可执行程序,运行在android设备上以确认其功能是否正常。

1、基于NDK编译可执行文件

2、push到 /data/local/tmp目录下

3、设置权限,执行。

push到设备上并执行
ndk工程中build.gradle设置


```groovy
plugins {id 'com.android.application'
}android {compileSdk 32defaultConfig {...ndkVersion "25.1.8937393"  // 指定 NDK 版本externalNativeBuild {cmake {cppFlags ''}}ndk {abiFilters 'arm64-v8a'   // 只编译arm64架构的}}externalNativeBuild {cmake {path file('src/main/cpp/CMakeLists.txt')version '3.18.1'}}
}

executable.cpp


#include <iostream>
#include <string>
#include "unistd.h"
int main(){std::cout << std::endl;std::cout << "start exectue." << std::endl;int count = 10;while(count -- > 0){std::cout << "exectue : count = " << count << std::endl;sleep(1);}std::cout << "end exectue." << std::endl;std::cout << std::endl;return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.18.1)project("broadcast")
# 生成可执行程序
add_executable(exec exec/executable.cpp)

可执行文件生成位置:app\build\intermediates\cmake\release\obj\arm64-v8a\exec

相关文章:

Android - NDK:编译可执行程序在android设备上运行

在android开发中&#xff0c;调试时会把C代码直接编译成可执行程序&#xff0c;运行在android设备上以确认其功能是否正常。 1、基于NDK编译可执行文件 2、push到 /data/local/tmp目录下 3、设置权限&#xff0c;执行。 ndk工程中build.gradle设置 groovy plugins {id com.a…...

快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)

1 关于Let’s Encrypt与Cerbot DNS验证 Let’s Encrypt 是一个提供 免费证书 的 认证机构。 Cerbot 是 Let’s Encrypt 提供的一个工具&#xff0c;用于自动化生成、验证和续订证书。 DNS验证是 Cerbot 支持的验证方式之一。相比 HTTP 验证或 TLS-ALPN 验证&#xff0c;DNS …...

shell技能树-扩展变量

扩展变量是指在shell脚本中用于实现条件判断和变量操作的特殊语法。 表格总结&#xff1a; 前三个 存在或者非空时&#xff0c;优先使用待测变量&#xff0c;否则使用默认值&#xff08;或报错&#xff09;。 最后一个 存在或者非空时&#xff0c;优先使用默认值&#xff0c…...

基于RedHat9部署WordPress+WooCommerce架设购物网站

系统版本信息&#xff1a;Red Hat Enterprise Linux release 9.2 (Plow) WordPress版本信息&#xff1a;wordpress-6.6.2-zh_CN WooCommerce版本信息&#xff1a;woocommerce.9.5.1 环境架构&#xff1a;LNMP&#xff08;RedHat9nginx1.20.1PHP 8.0.27MySQL8.0.30&#xff09; …...

LabVIEW瞬变电磁接收系统

利用LabVIEW软件与USB4432采集卡开发瞬变电磁接收系统。系统通过改进硬件配置与软件编程&#xff0c;解决了传统仪器在信噪比低和抗干扰能力差的问题&#xff0c;实现了高精度的数据采集和处理&#xff0c;特别适用于地质勘探等领域。 ​ 项目背景&#xff1a; 瞬变电磁法是探…...

Docker入门篇[SpringBoot之Docker实战系列] - 第534篇

历史文章&#xff08;文章累计530&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…...

Linux系统扩容根 (/) 文件系统空间

[rootlocalhost ~]# df -Th / # 查看当前根文件系统使用情况 [rootlocalhost ~]# lsblk # 查看设备的挂载情况 [rootlocalhost ~]# lvdisplay # 查看逻辑卷使用情况 # 操作磁盘分区表 [rootlocalhost ~]# fdisk /dev/nvme0n1 欢迎使用 fdisk (util-linux 2.37.4…...

JavaScript之JQuery

JQuery W3C 标准给我们提供了⼀系列的函数, 让我们可以操作: jQuery是⼀个快速、简洁且功能丰富的JavaScript框架&#xff0c;原⽣的JavaScript提供的API操作DOM元素时, 代码⽐较繁琐, 冗⻓. 我们学习使⽤JQuery来操作⻚⾯对象&#xff0c;如 • ⽹⻚内容 • ⽹⻚结构 …...

JAVA学习记录2

文章为个人学习记录&#xff0c;仅供参考&#xff0c;如有错误请指出。 如何开发第一个JAVA程序&#xff1f; 开发java程序主要分为三个步骤&#xff1a; 1.编写代码 2.编译代码 3.运行代码 1.编写代码 编写java的工具有很多&#xff0c;文本编辑器、Notepad、Visual Stu…...

计算机网络、嵌入式等常见问题简答

1.嵌入式系统中经常要用到无限循环&#xff0c;如何用C编写死循环 答&#xff1a;while(1){}或者for(;;) 2.程序的局部变量存在于哪里&#xff0c;全局变量存在于哪里&#xff0c;动态申请数据存在于哪里。 答&#xff1a;程序的局部变量存在于栈区&#xff1b;全局变量存在…...

中华人民共和国预算法实施条例

(1995年11月2日国务院第37次常务会议通过 1995年11月22日中华人民共和国国务院令第186号发布 自发布之日起施行) 第一章 总则 第一条 根据《中华人民共和国预算法》(以下简称预算法)&#xff0c;制定本条例。 第二条 县级以上地方政府的派出机关&#xff0c;根据本级政…...

【养生--果蔬汁】

果蔬汁&#xff1a; 1、甜菜根苹果柠檬菠萝 2、羽衣甘蓝苹果菠萝番石榴 3、番茄蓝莓苹果 4、胡萝卜、番茄、菠菜、西芹、西蓝花、甘蓝、花菜、南瓜、甜椒 5、火龙果香蕉 6、黄瓜香蕉 7、黄瓜雪梨 8、番茄苹果 9、黄瓜生菜 10、柚子雪梨 11、胡萝卜苹果黄瓜 12、黄瓜…...

LLM架构从基础到精通之词向量1

自然语言处理中的词嵌入&#xff1a;从基础到应用 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;词嵌入是一个极为关键的概念。它本质上是一种将单词转换为连续向量空间中的数值表示&#xff08;即向量&#xff09;的方法&#xff0c;旨在捕捉单词的语义信息&am…...

【SQL】Delete使用

目录 语法 需求 示例 分析 代码 语法 DELETE删除表中所需内容 删除表中满足特点条件的行&#xff1a;DELETE FROM 表名 WHERE 条件; 删除表中所有行&#xff1a;DELETE FROM 表名; WHERE子句 WHERE子句用于指定从表中选取记录的条件。允许筛选数据&#xff0c;只返回满足…...

KBQA前沿技术

文章目录 KBQA面临的挑战基于模板的方法基于语义解析的方法基于深度学习的传统问答基于深度学习的端到端问答模型KBQA面临的挑战 目前还存在两个很大的困难阻碍着KBQA系统被广泛应用。一个困难是现有的自然语言理解技术在处理自然语言的歧义性和复杂性方面还显得比较薄弱。例如…...

跨年烟花C++代码

嘿&#xff0c;朋友们&#xff01;今天来给大家讲讲一段挺有意思的C代码呀&#xff0c;这段代码主要是用来实现一个烟花效果展示的程序哦&#xff0c;下面咱们一点点来看哈。 效果 1. 开头包含的那些头文件 #include <graphics.h> #include <conio.h> #include &…...

centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常

centos服务器 /1ib64/libm.so.6: version “GLIBc 2.27’ not found 异常 问题 在服务器使用open3d时&#xff0c;报错缺失GLIBC_2.27&#xff0c;因为后续操作出问题会导致服务器挂&#xff0c;所以最好先备份一下。 解决 查询glibc版本 输入指令查询系统glibc版本&#x…...

职场:如何快速适应职场新环境?

快速适应职场新环境是每个新员工都需要面对的重要挑战。为了能够顺利过渡并尽快融入新团队&#xff0c;以下是一些实用的策略&#xff1a; 1. 保持积极心态 开放心态&#xff1a;进入新环境时&#xff0c;保持开放的心态对于适应变化至关重要。要愿意接受新的挑战&#xff0c…...

axios的替代方案onion-middleware

onion-middleware的由来 嗯。。。闲来无事瞎搞的&#xff01;&#xff01;&#xff01;&#xff01;主要用来实现请求/相应拦截&#xff0c;当然队列性的数据操作都是可以的 直接上使用教程 安装 npm install onion-middleware使用 import { OnionMiddleware } from onion…...

设计模式——泛型单例类

游戏中很多管理类都需要写成单例类&#xff0c;每次重复把管理类设置为单例类很繁琐&#xff0c; 这里直接写一个泛型单例类作为模板父类&#xff0c;方便其他需要写成单例类的类直接继承设置为单例类&#xff1b; using UnityEngine;public class Singleton<T> : Mono…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...