【Android】搭配安卓环境及设备连接

https://activity.csdn.net/writing?id=10904\&spm=1001.2101.3001.8632

梦开始的地方,安卓开发,希望能坚持梳理整理好安卓各个知识块,能拥有自己的理解,并表达出来,一开始肯定做的不会尽善尽美,一起加油吧加油吧。

一:Android 介绍

Android 最初是谷歌开发出来的操作系统,这一行现有的我知道的职业方向:应用层 APP 开发(做移动端安卓软件开发),系统层 FrameWork 开发(暂时不了解)、逆向开发(可以理解成逆向破解公司开发出来的安卓软件,然后正向再对公司的软件进行加固)、音视频开发(不了解,猜测涉及编解码比较多)...

二:Android系统架构

1:层级图

2:各层级分析

第一层:Android底层是基于Linux的内核,可以说是Linux的一个分支;

复制代码
       Linux的优势:①开源②扩展性好③各大厂商的硬件都是基于Linux开发自己的驱动

第二层:因为驱动涉及商业机密(底层代码),所以就有了HAL硬件抽象层,可以理解成把Linux内核层丢出来的代码进行抽象, 包装一下

第三层:C和C++写的应用库和Android核心库

第四层:Java语言进行API封装,再一次进行简化

三:搭建Android开发环境

1:安装Android Studio

推荐访问AS的国内网站:https://developer.android.google.cn/studio?hl=zh-cn

2:创建项目

创建一个空的基础模版,其实就是一个布局文件,比如activity_main.xml

3:更新库

第一次启动会加载/下载很多包,其中gradle会超时,然后报错,

这个包需要我们手动下载和手动配置,注意gradle的版本号,最好使用国内镜像源去下载速度会更快(官方勿Q)

gradle下载地址:

gradle官网(可能会比较慢):https://services.gradle.org/distributions

腾讯云镜像:https://mirrors.cloud.tencent.com/gradle

阿里云镜像:https://mirrors.aliyun.com/macports/distfiles/gradle

下载完毕之后,放到这个路径下面,然后更新一下版本

4:版本号问题

后续还要更新版本如图修改安卓的版本号即可

四:连接Android设备

这里我们可以使用模拟器,有三种选择

①比如说mumu模拟器,雷神模拟器

②现实中自己的手机,后面会讲解具体如何USB投屏

③编译器提供的虚拟设备

1:创建模拟器

2:选择设备

3:模拟器启动!!!

兄弟太帅了!!!!到时候整个水果

4:运行项目初始程序

输出结果为以下视图(代码后续会分析)

我们还可以自己定义输出的文本内容,在activity_main.xml下

5:选择设备出现bug

配置模拟设备的时候出现的问题,80%不会遇见,这里可能是当前的windows系统有一些问题(不是很了解)

解决方法如下(重新更新一下)

取消勾选------>apply(卸载)------>在两个都勾上------>apply(下载)

不一定能解决问题,可以一试

五:真机调试

Android以及HarmonyOS NEXT版本之前的设备都可以调试,具体步骤如下:

以红米K70为例

  1. 进入设置页,找到"关于手机"或者"我的设备"
  2. 找到"系统版本号",有的手机还需要选择"全部参数和信息"才能看到系统版本号
  3. 对着系统版本号信息持续快速的点击3-5次,就会提示打开开发者模式
  4. 返回到设置页,找到"开发者模式",有的手机叫"开发者模式"
  5. 勾选"USB调试",部分手机就可以直接开始调试代码
  6. 另外有的手机还需要下滑找到"USB配置",更改为MIDI
  7. 有些手机还需要允许"应用安装"
相关推荐
市场部需要一个软件开发岗位3 分钟前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿7 分钟前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD00112 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东14 分钟前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology19 分钟前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
invicinble23 分钟前
springboot的核心实现机制原理
java·spring boot·后端
人道领域32 分钟前
SSM框架从入门到入土(AOP面向切面编程)
java·开发语言
大模型玩家七七1 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
CodeToGym1 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
凡人叶枫2 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发