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

Android Studio 安装及使用

🍓 简介:java系列技术分享(👉持续更新中…🔥)
🍓 初衷:一起学习、一起进步、坚持不懈
🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏
🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击
在这里插入图片描述在这里插入图片描述

文章目录

  • 一、简介
  • 二、下载安装
    • 2.1 Android Studio安装
    • 2.2 Gradle安装(可选)
  • 三、创建工程
  • 四、创建模拟器
  • 五、App工程目录结构
  • 六、编译配置文件build.gradle
  • 七、运行配置文件AndroidManifest.xml

在这里插入图片描述

一、简介

Android Studio 是一个基于IntelliJ IDEA的集成开发环境,专门用于Android应用的开发。由Google推出,它提供了一系列强大的工具和功能,包括代码编辑器、调试器、虚拟设备模拟器、代码分析器等等。

Android Studio 提供了许多有用的功能,如基于 Gradle 的构建支持、Android 专属的重构和快速修复、提示工具以捕获性能、可用性、版本兼容性等问题、支持 ProGuard 和应用签名等。它还包含了一系列基于模板的向导,可以帮助开发者更轻松地生成常见的 Android 应用设计和组件。

总的来说,Android Studio 是一个非常强大且易用的 Android 应用开发工具,对于想要创建高质量 Android 应用的开发者来说是一个非常好的选择。

二、下载安装

2.1 Android Studio安装

下载地址:https://developer.android.google.cn/studio?hl=zh-cn

Android基于JAVA所以,需要有Java基础,也需要安装java的jdk环境,一路下一步后,会提示下载或默认下载SDK:软件开发工具包,可以将App源码编译为可执行的App应用


在这里插入图片描述

在这里插入图片描述

2.2 Gradle安装(可选)

Android开发中,使用Gradle作为构建工具相对较为常见。Gradle提供了灵活性和强大的构建功能,使得开发者能够轻松定义和管理Android项目的构建过程。Android Studio,作为官方的Android集成开发环境(IDE),默认支持Gradle构建系统。

idea中默认支持Gradle工具,如果想使用本地的Gradle可以参考该文档 ----
参考文章1
参考文章2

三、创建工程

在这里插入图片描述
在这里插入图片描述

四、创建模拟器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、App工程目录结构

在这里插入图片描述该项目下面有两个分类一个是app(代表app模块);另一个是Gradle Scripts
app下面又有3个子目录,其功能说明如下:

  1. m a n i f e s t s \color{#0AF}{manifests} manifests 子目录,下面只有一个XML文件,AndroidManifest.xml,它是App的运行配置文件。
  2. j a v a \color{#0AF}{java} java子目录,下面有3个com.example.myapp包,其中第一个包存放当前模块的Java源代码,后面两个包存放测试用的Java代码。
  3. r e s \color{#0AF}{res} res子目录,存放当前模块的资源文件。res下面又有4个子目录:
  • drawable目录存放图形描述文件与图片文件。
  • layout目录存放App页面的布局文件。
  • mipmap目录存放App的启动图标。
  • values目录存放一些常量定义文件,例如字符串常量strings.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。

Gradle Scripts下面主要是工程的编译配置文件,主要有:
(1)build.gradle,该文件分为项目级与模块级两种,用于描述App工程的编译规则。
(2)proguard-rules.pro,该文件用于描述Java代码的混淆规则。
(3)gradle.properties,该文件用于配置编译工程的命令行参数,一般无须改动。
(4)settings.gradle,该文件配置了需要编译哪些模块。初始内容为include ‘:app’,表示只编译app模块。
(5)local.properties,项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等。

六、编译配置文件build.gradle

新创建的App项目默认有两个build.gradle

  1. 一个是Project项目级别的build.gradle;
  2. 另一个是Module模块级别的build.gradle。

在这里插入图片描述
示例 : 通过注释熟悉 \color{#0AF}{示例: 通过注释熟悉} 示例:通过注释熟悉
项目级别

buildscript {
repositories {// 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件maven { url 'https://maven.aliyun.com/repository/jcenter' }maven { url 'https://maven.aliyun.com/repository/google'}maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}maven { url 'https://maven.aliyun.com/repository/public'}google()jcenter()
}dependencies {// 配置gradle插件版本,下面的版本号就是Android Studio的版本号classpath 'com.android.tools.build:gradle:4.1.0'}
}

模块级别

android {// 指定编译用的SDK版本号。比如30表示使用Android 11.0编译compileSdkVersion 30// 指定编译工具的版本号。这里的头两位数字必须与compileSdkVersion保持一致,具体的版本号可在sdk安装目录的“sdk\build-tools”下找到buildToolsVersion "30.0.3"defaultConfig {// 指定该模块的应用编号,也就是App的包名applicationId "com.example.chapter02"// 指定App适合运行的最小SDK版本号。比如19表示至少要在Android 4.4上运行minSdkVersion 19// 指定目标设备的SDK版本号。表示App最希望在哪个版本的Android上运行targetSdkVersion 30// 指定App的应用版本号versionCode 1// 指定App的应用版本名称versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-androidoptimize.txt'), 'proguard-rules.pro'}}
}
// 指定App编译的依赖信息
dependencies {// 指定引用jar包的路径implementation fileTree(dir: 'libs', include: ['*.jar'])// 指定编译Android的高版本支持库。如AppCompatActivity必须指定编译appcompat库//appcompat库各版本见https://mvnrepository.com/artifact/androidx.appcompat/appcompatimplementation 'androidx.appcompat:appcompat:1.2.0'// 指定单元测试编译用的junit版本号testImplementation 'junit:junit:4.13'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

七、运行配置文件AndroidManifest.xml

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Meta"tools:targetApi="31"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

可见AndroidManifest.xml的根节点为manifest,它的package属性指定了该App的包名。manifest下
面有个application节点,它的各属性说明如下:

  • android:allowBackup是否允许应用备份。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。为true表示允许,为false则表示不允许。
  • android:icon,指定App在手机屏幕上显示的图标
  • android:label,指定App在手机屏幕上显示的名称
  • android:roundIcon,指定App的圆角图标
  • android:supportsRtl,是否支持阿拉伯语/波斯语这种从右往左的文字排列顺序。为true表示支持,为false则表示不支持。
  • android:theme,指定App的显示风格。注意到application下面还有个activity节点,它是活动页面的注册声明,只有在AndroidManifest.xml中正确配置了activity节点,才能在运行时访问对应的活动页面。初始配置的MainActivity正是App的默认主页,之所以说该页面是App主页,是因为它的activity节点内部还配置了过滤信息

相关文章:

  • 中国出海主力系列专访之三七互娱:亚马逊云科技助力三七互娱海外“出圈”之路
  • go 适配器模式
  • MySQL/Oracle用逗号分割的id怎么实现in (逗号分割的id字符串)。find_in_set(`id`, ‘1,2,3‘) 函数,
  • 从哪些方面分析Linux内核源码
  • C语言回文数(1106:回文数(函数专题))
  • 前端环境变量释义
  • 关于爬虫中的hook(defineProperty,hook cookies, hook载荷数据,hookXHR)
  • 企业办公室信息安全保密办法——推荐用天锐绿盾数据安全防泄密系统 | 防止核心文件数据、资料泄露
  • 〖大前端 - 基础入门三大核心之JS篇㊴〗- DOM节点的关系
  • 威班11月份PMP模拟考试实录
  • 2.5计划任务远程管理
  • C++引用
  • Re50:读论文 Large Language Models Struggle to Learn Long-Tail Knowledge
  • 阿里云服务器公网带宽如何修改?
  • 力扣刷题第二十七天--二叉树
  • [NodeJS] 关于Buffer
  • go append函数以及写入
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Vim Clutch | 面向脚踏板编程……
  • Vue 动态创建 component
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 悄悄地说一个bug
  • 实习面试笔记
  • 实战|智能家居行业移动应用性能分析
  • 移动端唤起键盘时取消position:fixed定位
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 大数据全解:定义、价值及挑战
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • %check_box% in rails :coditions={:has_many , :through}
  • (12)Hive调优——count distinct去重优化
  • (2)Java 简介
  • (C#)获取字符编码的类
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (二十三)Flask之高频面试点
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)Google的Objective-C编码规范
  • (转)h264中avc和flv数据的解析
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)Sublime Text3配置Lua运行环境
  • ***原理与防范
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Core 成都线下面基会拉开序幕
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET Remoting学习笔记(三)信道
  • .NET 使用配置文件
  • .NET 中使用 Mutex 进行跨越进程边界的同步