Android NDK开发——Android Studio 3.5.2安装与配置踩坑

news2025/1/10 21:18:57

Android NDK开发——Android Studio 3.5.2安装与配置踩坑

  • 一、Android Studio下载
  • 二、配置踩坑
    • 报错1:Failed to install the following Android SDK packages as some licences have not been accepted
    • 报错2:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

本博客主要记录Android Studio 3.5.2旧版本安装与配置时遇到的主要踩坑。

一、Android Studio下载

Android Studio旧版本下载地址:
https://developer.android.google.cn/studio/archive
注意页面不要用翻译,会显示不全
在这里插入图片描述

二、配置踩坑

报错1:Failed to install the following Android SDK packages as some licences have not been accepted

原因:在 Android Studio 中在编译的时候,出现许可证/证书问题。
解决:在安装Android Studio的时候,会安装 Sdk,里面会有一个tools 文件夹,在文件夹中的 bin目录下有一个 sdkmanager.bat可执行文件。
执行命令:

sdkmanager.bat --licenses

之后一路输入y即可。
但是实际操作的时候显示命令无法识别,里面有说JAVA_HOME的事。
这是需要安装JDK 8,具体安装可以看B站视频,视频链接.

官方网站:https://www.oracle.com/java/technologies/downloads/#java8-windows
进入官网后,一路往下拖
在这里插入图片描述
安装按照默认就行。
之后配置环境变量:
JAVA_HOME:路径就是jdk安装的位置
在这里插入图片描述
Path:输入%JAVA_HOME%\bin即可。
在这里插入图片描述
之后就可以正常运行命令:

sdkmanager.bat --licenses

问题解决!

报错2:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

在这里插入图片描述

原因:Android Studio在不断更新之后,默认安装的NDK版本偏高,里面有些文件没有了。
解决方法:安装低版本的NDK

1.先查看NDK安装位置确认是否安装了报错的文件:

File -> Project Structure ->SDK Location
在这里插入图片描述
在这里插入图片描述
有的话就去看对应的文件位置,如果没有,查看以下文件:
在这里插入图片描述
可以看出ndk文件是在D:\Android\SDK\ndk\27.0.11718014中,根据你的文件来。
打开对应文件,查看toolchains文件夹,
在这里插入图片描述
里面并没有报错的arm-linux-androideabi文件。这就说明找到了问题原因。

2.下载低版本NDK
打开SDK Manager:
在这里插入图片描述
注意要勾选Show Package Details,这样才能看到详细版本,否则只能看出来安没安装NDK
在这里插入图片描述
我安装的版本是22.1.7171670,如果不行可以尝试更低的版本。
在这里插入图片描述
安装完成后,打开默认的NDK安装位置,里面有新安装的ndk:
在这里插入图片描述
打开后,进入toolchains中可以看出有报错的文件:
在这里插入图片描述
3.更改项目NDK版本号

一般是在项目模块对应的 build.gradle中进行更改:
没有的话,就自己添加进去
在这里插入图片描述
之后就ok啦!!

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

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

相关文章

【全开源】Java上门洗车小程序源码上门洗车APP 小程序源码支持二次开发6.0

功能特点: 跨界创新:融入科技元素,借助移动互联网快速发展,将科技引入到传统洗车业中。 科技赋能:具有智能化的特点,用户可以根据自身的需求选择不同的洗车项目和服务,包括洗车的时间、地点和服…

滥用 Kubernetes 资源登上月球

Sysdig 2024 年云原生安全和使用报告强调了不断变化的威胁形势,但更重要的是,随着容器和 Kubernetes 等云原生技术的采用不断增加,并非所有组织都遵循最佳实践。当攻击者在 Kubernetes 等操作中利用容器来利用资源时,这最终会给攻…

【stomp 实战】spring websocket 接收消息源码分析

后台消息的发送过程,我们通过spring websocket用户消息发送源码分析已经了解了。我们再来分析一下后端接收消息的过程。这个过程和后端发送消息过程有点类似。 前端发送消息 前端发送消息给服务端的示例如下: 发送给目的/app/echo一个消息。 //主动发…

线程安全的概念及原因

1.观察线程不安全 public class ThreadDemo {static class Counter {public int count 0;void increase() {count;}}public static void main(String[] args) throws InterruptedException {final Counter counter new Counter();Thread t1 new Thread(() -> {for (int …

ES:聚合查询语法

基础查询结构: GET http://ip:prot/textbook/_search { "query" : { ...query子句... }, "aggs" : { "agg_name":{ "agg_type": { "agg_arg": agg_arg_value } } }, "sort" : { ..sor…

Cesium--加载天地图

背景:vue-admin-temlate cesium 天地图 天地图地址:国家地理信息公共服务平台 天地图 步骤一:申请成为天地图开发者,创建应用 1,天地图使用方法(点击开发资源即可看到此页面) 2,点击控制台-登录账号 …

13:HAL---SPI

目录 一:SPL通信 1:简历 2:硬件电路 3:移动数据图 4:SPI时序基本单元 A : 开/ 终条件 B:SPI时序基本单元 A:模式0 B:模式1 C:模式2 D:模式3 C:SPl时序 A:发送指令 B: 指定地址写 C:指定地址读 5:NSS(CS) 6:时钟 二: W25Q64 1:简历 2…

Star-CCM+通过将所有部件创建一个区域的方式分配至区域后子区域的分离,子区域材料属性的赋值,以及物理连续体的创建方法介绍

前言 上次介绍了将零部件分配至区域的方法与各个方法之间的区别,本文将继续上次的讲解,将其中的“将所有部件分配至一个区域”的应用进行补充。 如下图所示,按照将所有部件创建一个区域的方式分配至区域后,在区域下就会有一个区域…

springboot+vue实现登录注册,短信注册以及微信扫描登录

说明:微信扫描登录需要微信注册--要钱,感谢尚硅谷提供的免费接口;短信注册需要阿里云的注册很麻烦并且短信费,没有接口,所以不打算实现,不过能做出效果。 目录 一、建立数据库 二、后端idea实现接口 1.…

全球首发:抗量子、以太坊兼容测试网正式上线

量子计算机将有能力破解目前互联网上使用的主要加密算法,影响的领域包括银行应用程序、电子邮件服务和社交媒体平台。 2023年5月7日,QANplatform推出了全球首个兼容以太坊的抗量子区块链测试网,此举将使开发者能够使用任何编程语言来编写智能…

thinkphp6使用layui分页组件做分页效果

博主用的是layui2.9.8的版本,但这个版本的分页组件是动态效果的,但我需要的是静态分页,所以我自己封装了一个生成layui的分页代码生成代码。代码如下: 1、先创建文件,路径是extent/layui/LayuiPage.php,加…

Java实战:验证改进的哥德巴赫猜想

改进的哥德巴赫猜想(Improved Goldbach’s Conjecture)声称每个大于5的奇数都可以表示为三个素数之和。这个猜想是对原始哥德巴赫猜想的扩展,针对奇数的情况。原始哥德巴赫猜想是指每个大于2的偶数都可以表示为两个素数之和。尽管改进的哥德巴…

ROS 2边学边练(45)-- 构建一个能动的机器人模型

前言 在上篇中我们搭建了一个机器人模型(其由各个关节(joint)和连杆(link)组成),此篇我们会通过设置关节类型来实现机器人的活动。 在ROS中,关节一般有无限旋转(continuous),有限旋转…

el-dialog设置el-head固定

0 效果 1 代码 ::v-deep .adTextDetailDialogClass .el-dialog__body{max-height: calc(100vh - 150px);overflow: auto;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf; } ::v-deep .adTextDetailDialogClass .el-dialog{position: fixed;height:fit-content;…

15-LINUX--线程的创建与同步

一.线程 1.线程的概念 线程是进程内部的一条执行序列或执行路径,一个进程可以包含多条线程。 2.线程的三种实现方式 ◼ 内核级线程:由内核创建,创建开销大,内核能感知到线程的存在 ◼ 用户级线程:线程的创建有用户空…

springboot 引入第三方bean

如何进行第三方bean的定义 参数进行自动装配

数据库中索引的底层原理和SQL优化

文章目录 关于索引B 树的特点MySQL 为什么使用 B 树? 索引分类聚簇索引 和 非聚簇索引覆盖索引索引的最左匹配原则索引与NULL索引的代价大表结构修改 SQL优化EXPLAIN命令选择索引列其它细节 关于索引 索引是一种用来加快查找效率的数据结构,可以简单粗暴…

探索黏土特效?推荐这三款软件!

在数字化时代,我们拥有无数的工具来释放我们的创造力和想象力。其中,黏土特效软件就是一种能够将你的照片或图像转化为可爱、生动的黏土动画的工具。这些软件以其独特的视觉效果和易于使用的特性,吸引了大量的用户。下面,我们将为…

gorm-sharding分表插件升级版

代码地址: GitHub - 137/gorm-sharding: Sharding 是一个高性能的 Gorm 分表中间件。它基于 Conn 层做 SQL 拦截、AST 解析、分表路由、自增主键填充,带来的额外开销极小。对开发者友好、透明,使用上与普通 SQL、Gorm 查询无差别.解决了原生s…

FreeRTOS学习 -- 任务相关API函数

一、任务创建和删除API函数 FreeRTOS 最基本的功能就是任务管理,而任务管理最基本的操作就是创建和删除任务。 FreeRTOS的任务创建和删除API函数如下: 1、函数 xTaskCreate() 此函数用来创建一个任务,任务需要 RAM 来保存于任务有关的状…