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

macos 配置ndk环境

选择Android Studio下默认的ndk环境

mac电脑的ndk默认路径一般是

/Users/user_name/Library/Android/sdk/ndk/version_code

其中user_name为自己电脑的用户名,version_code为自己ndk安装的版本号,比如我这里电脑的ndk路径就是

/Users/zhangsan/Library/Android/sdk/ndk/23.1.7779620

然后编辑~/.zshrc

vim ~/.zshrc

添加下面两行

export ANDROID_NDK=/Users/zhangsan/Library/Android/sdk/ndk/23.1.7779620
export PATH=$PATH:$ANDROID_NDK

编辑完:wq保存退出

然后让刚才编辑的环境变量立即生效

source ~/.zshrc

接着用ndk-build验证一下是否有信息输出

ndk-build

当我输入这个的时候输出信息是

ERROR: Unknown host CPU architecture: arm64

如果遇到这种报错信息的话,就需要编辑/Users/zhangsan/Library/Android/sdk/ndk/23.1.7779620/下面的ndk-build文件

cd /Users/zhangsan/Library/Android/sdk/ndk/23.1.7779620/vim ndk-build

将原来的

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
$DIR/build/ndk-build "$@"

改成下面这种

#!/bin/sh
DIR="$(cd "$(dirname "$0")" && pwd)"
arch -x86_64 /bin/bash $DIR/build/ndk-build "$@"

最后用ndk-build验证一下

ndk-build

如果输出下面这种信息就证明ndk环境准备好了

Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/Users/zhangsan/Library/Android/sdk/ndk/23.1.7779620/build/core/build-local.mk:151: *** Android NDK: Aborting    .  Stop.

参考资料:Unknown host CPU architecture: arm64 , Android NDK SiliconM1 Apple MacBook Pro - Stack Overflow

相关文章:

macos 配置ndk环境

选择Android Studio下默认的ndk环境 mac电脑的ndk默认路径一般是 /Users/user_name/Library/Android/sdk/ndk/version_code 其中user_name为自己电脑的用户名,version_code为自己ndk安装的版本号,比如我这里电脑的ndk路径就是 /Users/zhangsan/Libra…...

【linux】进行间通信——共享内存+消息队列+信号量

共享内存消息队列信号量 1.共享内存1.1共享内存的原理1.2共享内存的概念1.3接口的认识1.4实操comm.hppservice.cc (写)clint.cc (读) 1.5共享内存的总结1.6共享内存的内核结构 2.消息队列2.1原理2.2接口 3.信号量3.1信号量是什么3…...

PlantUML基础使用教程

环境搭建 IDEA插件下载 打开IEDA系列IDE,从FIle–>Settings–>Plugins–>Marketplace 进入到插件下载界面,搜索PlantUML,安装PlantUML Integration和PlantUML Parser两个插件,并重启IDE 安装和配置Graphviz 进入官网…...

Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic

目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制(位)作为信息的基本单位,1个字节等于8位,例如“abc”字符串是有3个字节组成&#xff0c…...

promise时效架构升级方案的实施及落地 | 京东物流技术团队

一、项目背景 为什么需要架构升级 promise时效包含两个子系统:内核时效计算系统(系统核心是时效计算)和组件化时效系统(系统核心是复杂业务处理以及多种时效业务聚合,承接结算下单黄金流程流量)&#xff…...

es的使用方法以及概念

Elasticsearch(简称为ES)是一个开源的搜索引擎,它构建在Lucene搜索引擎之上。它提供了一个分布式、多租户的全文搜索引擎,具有强大的实时分析能力。以下是关于Elasticsearch的一些基本概念和使用方法: 基本概念&#…...

WPF xaml Command用法介绍

WPF (Windows Presentation Foundation) 中的命令设计模式是一种用于分离用户界面逻辑和业务逻辑的方法。在WPF中,这种模式通过命令接口(如 ICommand)实现,使得用户界面组件(如按钮、菜单项等)可以触发不直…...

微信小程序动态生成表单来啦!你再也不需要手写表单了!

dc-vant-form 由于我们在小程序上涉及到数据采集业务,需要经常使用表单,微信小程序的表单使用起来非常麻烦,数据和表单是分离的,每个输入框都需要做数据处理才能实现响应式数据,所以我开发了dc-vant-form,…...

顺序表(数据结构与算法)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…...

【大连民族大学C语言CG题库练习题】——判断一个矩阵是另一个矩阵的子矩阵

【问题描述】 从标准输入中输入一个N&#xff08;N<9&#xff09;阶矩阵和一个M&#xff08;M<N&#xff09;阶矩阵&#xff0c;判断矩阵M是否是N的子矩阵&#xff0c;若是则输出M在N中的起始位置&#xff0c;若不是则输出-1。若矩阵M能与N中某一区域完全相等&#xff0…...

C#WPF控制模板实例

一、控制模板 ControlTemplate(控件模板)不仅是用于来定义控件的外观、样式, 还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 控件模板定义控件的视觉外观,所有的 UI 元素都具有某种外观和行为,例如,Button 具有外观和行为。单击事件或…...

MATLAB Simulink和S7-1200PLC MOBUSTCP通信

MATLAB Simulink和SMART PLC OPC通信详细配置请查看下面文章链接: MATLAB和西门子SMART PLC OPC通信-CSDN博客文章浏览阅读749次,点赞26次,收藏2次。西门子S7-200SMART PLC OPC软件的下载和使用,请查看下面文章Smart 200PLC PC Access SMART OPC通信_基于pc access smart的…...

五、函数的介绍

1、为什么需要函数 (1)当程序足够简单时&#xff0c;一个main函数就可以实现所有功能。随着程序功能的增加、复杂化&#xff0c;超出人的大脑的承受范围&#xff0c;这时一个main函数可能就逻辑不清了。这是就需要把一个大程序分成许多小的模块来组织&#xff0c;于是乎出现了…...

【广州华锐互动VRAR】VR元宇宙技术在气象卫星知识科普中的应用

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;和元宇宙等技术正逐渐走进我们的生活。这些技术为我们提供了一个全新的互动平台&#xff0c;使我们能够以更加直观和生动的方式了解和学习各种知识。在气象天文领域&#xff0c;VR元宇宙技术的应用也日益显现…...

F. Alex‘s whims Codeforces Round 909 (Div. 3) 1899F

Problem - F - Codeforces 题目大意&#xff1a;有q次询问&#xff0c;每次询问给出一个数x&#xff0c;要求构造一棵n个点的树&#xff0c;使得对于每次询问&#xff0c;树上都有一条简单路径的长度等于x&#xff0c;同时每次询问前可以对树进行一次操作&#xff0c;即将一个…...

面试题-5

1.用递归的时候有没有遇到什么问题&#xff1f; 如果一个函数内可以调用函数本身,那么这个就是递归函数 函数内部调用自己 特别注意:写递归必须要有退出条件return 2.如何实现一个深拷贝 深拷贝就是完全拷贝一份新的对象,会在堆内存中开辟新的空间,拷贝的对象被修改后&…...

车载以太网-ARP

文章目录 车载以太网ARP协议ARP协议帧格式ARP报文示例ARP报文完整流程ARP流程报文示例ARP协议测试 车载以太网ARP协议 车载以太网ARP协议是指在车载以太网中使用的ARP协议。ARP&#xff08;Address Resolution Protocol&#xff09;是一种用于将IP地址解析为MAC地址的协议。在…...

Kafka学习笔记(三)

目录 第5章 Kafka监控&#xff08;Kafka Eagle&#xff09;5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…...

JVM-HotSpot虚拟机对象探秘

目录 一、对象的实例化 &#xff08;一&#xff09;创建对象的方式 &#xff08;二&#xff09;创建对象的步骤 二、对象的内存布局 &#xff08;一&#xff09;对象头 &#xff08;二&#xff09;实例数据 &#xff08;三&#xff09;对齐填充 三、 对象的访问定位 &…...

大模型技术的发展:开源和闭源,究竟谁强谁弱又该何去何从?

一、开源和闭源的优劣势比较 开源和闭源软件都有各自的优劣势&#xff0c;具体比较如下&#xff1a; 安全性&#xff1a;闭源软件的安全性相对较高&#xff0c;因为其源代码不公开&#xff0c;攻击者难以找到漏洞进行攻击。而开源软件由于源代码公开&#xff0c;容易被攻击者发…...

别再混淆了!给数据科学新手的平稳性、自相关性核心概念白话图解

时间序列分析入门&#xff1a;用生活化类比理解平稳性与自相关性 刚接触时间序列分析时&#xff0c;你是否曾被"平稳性"和"自相关性"这些术语搞得一头雾水&#xff1f;就像第一次学游泳时&#xff0c;教练说的"打腿节奏"和"换气时机"一…...

Lyrebird常见问题排查手册:解决无法启动和音频延迟的终极方案

Lyrebird常见问题排查手册&#xff1a;解决无法启动和音频延迟的终极方案 【免费下载链接】lyrebird &#x1f99c; Simple and powerful voice changer for Linux, written with Python & GTK 项目地址: https://gitcode.com/gh_mirrors/lyr/lyrebird Lyrebird是一…...

零门槛云端实时物体识别:基于Google Colab与MobileNet V2的实践指南

1. 项目概述&#xff1a;零门槛体验云端实时物体识别想亲手体验一下人工智能的“眼睛”是如何看世界的吗&#xff1f;物体识别&#xff0c;这个听起来高深莫测的技术&#xff0c;其实离我们并不遥远。它就像是给计算机装上了一套视觉系统&#xff0c;让它能像我们一样&#xff…...

Revelation光影包:物理渲染与启发式算法的视觉革命

Revelation光影包&#xff1a;物理渲染与启发式算法的视觉革命 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation Revelation不仅仅是一个Minecraft光影包——它是基于物理渲…...

[4G5G专题] RRU CFR技术:从“削峰”到“塑形”的算法演进与工程实践

1. 从“削峰”到“塑形”&#xff1a;CFR技术的本质蜕变 第一次接触CFR&#xff08;Crest Factor Reduction&#xff09;技术时&#xff0c;我把它简单理解为“信号削峰器”——就像用菜刀切掉蛋糕顶端多余的部分。早期在4G RRU&#xff08;Remote Radio Unit&#xff09;项目中…...

JSON Lint for PHP:让JSON验证不再是一场噩梦

JSON Lint for PHP&#xff1a;让JSON验证不再是一场噩梦 【免费下载链接】jsonlint JSON Lint for PHP 项目地址: https://gitcode.com/gh_mirrors/jso/jsonlint 你是否曾因一个JSON格式错误而花费数小时调试&#xff1f;是否在接收外部API数据时&#xff0c;因为格式不…...

3分钟掌握百度网盘提取码智能查询:高效资源获取的终极完整指南

3分钟掌握百度网盘提取码智能查询&#xff1a;高效资源获取的终极完整指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经遇到过这样的场景&#xff1a;朋友分享了一个百度网盘链接&#xff0c;却忘记了提供提取码…...

Haystack框架实战:从零构建企业级智能问答系统

1. 项目概述&#xff1a;一个为构建智能搜索与问答系统而生的框架如果你正在为海量文档构建一个能“理解”问题并“找到”答案的智能系统&#xff0c;比如一个公司内部的知识库助手&#xff0c;或者一个能检索技术文档并给出精准回复的客服机器人&#xff0c;那么你很可能已经听…...

Lyrebird语音变声器完整指南:从安装到高级使用技巧

Lyrebird语音变声器完整指南&#xff1a;从安装到高级使用技巧 【免费下载链接】lyrebird &#x1f99c; Simple and powerful voice changer for Linux, written with Python & GTK 项目地址: https://gitcode.com/gh_mirrors/lyr/lyrebird Lyrebird是一款专为Linu…...

如何用BilibiliDown轻松下载B站视频:3分钟掌握完整操作指南

如何用BilibiliDown轻松下载B站视频&#xff1a;3分钟掌握完整操作指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirr…...