Android Studio环境搭建(4.03)和报错解决记录

1.本地SDK包导入

        安装好IDE以及下好SDK包后,先不要管IDE的引导配置,直接新建一个新工程,进到开发界面。

SDK路径配置:File---->>Other Settings---->>Default Project Structure

拷贝你SDK解压的路径来这,例如我的SDK路径如下:

如果有提示让你下载什么,一概叉掉,先不要下推荐的。

接着打开Tools---->>Android---->>SDK Manager

先看SDK Platforms

也就是SDK对应平台的意思,即开发哪个Android系统版本的意思,这里只勾选你要开发的安卓版本(4.03),其他的取消勾选(如果你按Android Studio推荐的下载配置,它会下载安卓10,至少我的是这样),然后点Apply,它会给你下载这个系统版本的SDK(本地SDK会有帮你下好了一部分)

下载完之后,点Slow Package Details,会切换到更详细的视图,可以再这里看看Android 4.03还有哪些没有下载,全下载下来。

下面这个表解释了各个条目的作用

再看SDK Tools

红框勾选的是必备的,勾选完后同样点Apply进行下载。Build Tools和Platform-Tools等,如果你不是安装最新版本,会显示如图的减号图案,但这个是无所谓的。点开Show Package Details可以查看更详细的配置。

同样列表解释一下它们的作用

这里只需要记住一个版本信息,即Android SDK Build Tools的版本,例如我的是19.1,这个19后面会用到。

最后是SDK Update Sites

参考下面截图的,没有的下载下来。

这样SDK就算是配置好了,但是这样还是不够的,会有报错,看下面:

Failed to resolve: com.android.suppot:design:29.+

Failed to resolve: junit:junit:4.12

Failed to resolve: com.android.support:appcompat-v7:29.+
 

第一个和第三个报错,简单解释一下这报错是什么意思:

com.android.support:appcompat-v7和com.android.suppot:design是安卓的支持库,库的名字叫appcompat-v7和design,其作用是提供安卓组件。后面跟着29.+意思要求你,这个库要应用在Android SDK Build Tools的29以上的版本,比如29.1,29.2等等,但是16,17或者30等其他版本则不行,因此问题就显而易见了,我们上面的SDK构建工具是19.1的,要改成19+才行。

看边栏Project---->>Gradle Scripts---->>build.grade,把这里的数字15改成自己对应的SDK构建工具版本19,重新编译就没有这个报错了。(为啥我上面是29下面是15呢,不要在意这个细节,因为我折腾了一天了29和19等等各个版本的SDK构建工具版本都下载过,都是遇到这个报错,29那个只是截图比较早而已。实际是同一类问题)

第二个报错更简单,junit:4.12,j是JAVA的意思,unit就算单元的意思,junit其实是一个单元测试工具,我们用不到,直接去掉,同样在Project---->>Gradle Scripts---->>build.grade,将其注释,再重新编译,就ok了。

2.AVD即虚拟机创建

现在终于把编译报错解决了,下面看安卓虚拟机怎么创建:

点击Tools---->>Android---->>AVD Manager

点击创建虚拟机

选一个需要的,然后Next

点Show downloadable system images,即显示可下载的系统镜像,这些都是虚拟机系统镜像来的,下载和前面SDK一致版本一致的系统镜像,例如我需要的是Android 4.03,而且呢我的linux开发板的CPU架构是armeabi-v7a,所以就Download这个版本的。不用去下载X86,虚拟机可以运行armeabi-v7a这个架构的系统镜像。

选中它,然后next,再点击finish就创建ok了

可以尝试运行一下:有浮现出Android的图标就算成功了,也标志着环境基本搭建完成。

虚拟机打开后黑屏问题即解决:

如果打开虚拟机后一直是黑屏状态,如上,可参考我的如下做法:

Tools---->>Android---->>SDK Manager

 点Lauch Standalone SDK Manager

点击Tools---->>Manage AVDs...

 

这里就有你那不争气的虚拟机,点击edit

将USE HOST GPU选上,再打开虚拟机,一般这样虚拟机就不黑屏了;另外skin是调节虚拟机尺寸的,建议Skin设为WVGA800,感觉比例最合适。

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

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

相关文章

ros笔记01--初次体验ros2

ros笔记01--初次体验ros2 介绍安装ros2测试验证ros2说明 介绍 机器人操作系统(ROS)是一组用于构建机器人应用程序的软件库和工具。从驱动程序和最先进的算法到强大的开发者工具,ROS拥有我们下一个机器人项目所需的开源工具。 当前ros已经应用到各类机器人项目开发中…

ORACLE 、达梦 数据库查询指定库指定表的索引信息

在Oracle数据库中,索引是一种关键的性能优化工具,通过它可以加快数据检索速度。在本文中,我们将深入探讨如何详细查询指定表的索引信息,以及如何利用系统视图和SQL查询来获取这些信息。 索引在数据库中的重要性 索引是一种数据结…

操作符详解(下) (C语言)

操作符详解下 操作符的属性1.优先级2.结合级 表达式求值1.整型提升2.如何进行整形提升呢?3.算术转换4.问题表达式解析 操作符的属性 C语言的操作符有2个重要的属性:优先级、结合性,这两个属性决定了表达式求值的计算顺序。 1.优先级 优先级…

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

RabbitMQ 进程内流控(Flow Control) 源码解析

1. 概述 1.1 为什么要流控? 流控主要是为了防止生产者生产消息速度过快,超过 Broker 可以处理的速度。这时需要暂时限制生产者的生产速度,让 Broker 的处理能够跟上生产速度。 Erlang进程之间不共享内存,每个进程都有自己的进程邮…

42.HOOK引擎核心代码

上一个内容:41.HOOK引擎设计原理 以 40.设计HOOK引擎的好处 它的代码为基础进行修改 主要做的是读写寄存器 效果图 添加一个类 htdHook.h文件中的实现 #pragma once class htdHook { public:htdHook(); };htdHook.cpp文件中的实现: #include "…

独辟蹊径:我是如何用Java自创一套工作流引擎的(下)

作者:后端小肥肠 创作不易,未经允许严禁转载。 姊妹篇:独辟蹊径:我是如何用Java自创一套工作流引擎的(上)_java工作流引擎-CSDN博客 1. 前言 在上一篇博客中,我们详细介绍了如何利用Java语言从…

LC437.路径总和Ⅲ、LC207.课程表

给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点&am…

【每日刷题】Day77

【每日刷题】Day77 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 159. 库存管理 III - 力扣(LeetCode) 2. LCR 075. 数组的相对排序 - 力…

代理ip匿名原理

代理IP匿名的原理基于代理服务器的工作方式。当用户使用代理服务器访问互联网时,请求数据会先发送到代理服务器,然后由代理服务器再向目标服务器发送请求。在这个过程中,代理服务器会将用户真实IP地址替换成代理服务器的IP地址,从…

Linux——passwd文件,grep,cut

/etc/passwd文件含义 作用 - 记录用户账户信息:共分为7段,使用冒号分割 含义 - 文件内容意义:账户名:密码代号x:UID:GID:注释:家目录:SHELL - 第7列/sbin/nologin&#x…

c++(三)

1. STL 1.1. 迭代器 迭代器是访问容器中元素的通用方法。如果使用迭代器,不同的容器,访问元素的方法是相同的;迭代器支持的基本操作:赋值()、解引用(*)、比较(和!&…

隐私计算实训营第二期第11讲组件介绍与自定义开发

首先给大家推荐一个博主的笔记:隐语课程学习笔记11- 组件介绍与自定义开发-CSDN博客 官方文档:隐语开放标准介绍 | 开放标准 v1.0.dev240328 | 隐语 SecretFlow 01 隐语开放标准 隐语开放标准是为隐私保护应用设计的协议栈。 目前,隐语开…

mysql8.0-学习

文章目录 mysql8.0基础知识-学习安装mysql_8.0登录mysql8.0的体系结构与管理体系结构图连接mysqlmysql8.0的 “新姿势” mysql的日常管理用户安全权限练习查看用户的权限回收:revoke角色 mysql的多种连接方式socket显示系统中当前运行的所有线程 tcp/ip客户端工具基于SSL的安全…

Wp-scan一键扫描wordpress网页(KALI工具系列三十二)

目录 1、KALI LINUX 简介 2、Wp-scan工具简介 3、信息收集 3.1 目标IP(服务器) 3.2kali的IP 4、操作实例 4.1 基本扫描 4.2 扫描已知漏洞 4.3 扫描目标主题 4.4 列出用户 4.5 输出扫描文件 4.6 输出详细结果 5、总结 1、KALI LINUX 简介 Kali Linux 是一…

深入解析Tomcat:Java Web服务器(下)

深入解析Tomcat:Java Web服务器(下) 在上一篇文章中,我们介绍了Tomcat的基本概念、安装配置、以及基本使用方法。本文将继续探讨Tomcat的高级配置和性能调优。 5. 高级配置 5.1 配置文件详解 Tomcat的配置文件位于conf目录下&…

中北大学阿尔法编程之分治算法

整数划分问题 整数划分问题&#xff1a;将一个整数划分为若干个数相加 例子&#xff1a; 整数4 最大加数 4 44 134 1124 224 11114 一共五种划分方案 注意&#xff1a;134&#xff0c;314被认为是同一种划分方案 最后输出共几种划分方案 #include <stdio.h> …

Spring Boot中的模板引擎选择与配置

Spring Boot中的模板引擎选择与配置 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来聊聊Spring Boot中的模板引擎选择与配置。模板引擎是生成动态网页…

MySQL root密码丢失处理

没有记住MySQL数据库root用户默认密码(为初始化安装mysql时默认生成) 1)修改/etc/my.cnf文件,在[mysqld]的段中加上一句:skip-grant-tables 重启mysql服务 [root@localhost ~]# service mysqld restart 2)以无密码方式进入mysql: [root@localhost ~]# /usr/local/my…

STM32CubeIDE使用标准库

以STM32F030为例使用标准库文件。 1、新建工程&#xff0c;选择需要使用配置的型号。 2、在工程选型中&#xff0c;选择新建空工程。 3、新建空工程 新建完成&#xff0c;系统只有main函数和启动文件.s有用。 4、启动文件 启动文件&#xff0c;同样是一个汇编文件&#xf…