Android Studio 安装及使用

news2024/9/23 2:26:46

🍓 简介: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 false
            proguardFiles 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/appcompat
    implementation '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">

    <application
        android: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">
        <activity
            android: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节点内部还配置了过滤信息

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

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

相关文章

数值的整数次方Pow(x,n)

求数组的整数次方 思想&#xff1a; 分而治之 首先判断正负数&#xff0c;然后判断奇偶性问题&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&a…

DP1332E/DP1363F国产多协议NFC读写器芯片支持ISO15693/ISO18092

目录 ISO/IEC 15693与ISO/IEC 18092协议标准差异DP1363F与DP1332E对比共同点主要差异点 ISO/IEC 15693与ISO/IEC 18092协议标准差异 ISO/IEC 15693是用于近距离无线通信中的射频识别&#xff08;RFID&#xff09;技术的标准协议&#xff0c;它定义了与读写器之间的通信协议。这…

AnyTXT Searcher:本地文件内容搜索神器如何搭建与远程访问

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况&#xff0c;异地办公或者不在公司&#xff0c;想找…

Python脚本工具,13个简单高效python脚本分享~先添加收藏,以备留用。

文章目录 前言1.使用 Python 进行速度测试2.在谷歌上搜索3.制作网络机器人4.获取歌曲歌词5.获取照片的Exif数据6.提取图像中的 OCR 文本7.将照片转换为Cartonize8.清空回收站9.Python 图像增强10.获取 Window 版本11.将 PDF 转换为图像12.转换十六进制到 RGB13.网站状态关于Pyt…

v-if与v-show

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:v-if与v-show 目录 v-if与v-show区别 一、v-show与v-if的共同点 二、v-show与v-if的区别 三、v…

openEuler 22.03 制作openssh9.5p1rpm包

1、yum安装编译依赖的组件 yum install -y rpm-build gcc gcc-c glibc glibc-devel openssl-devel openssl pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel libXt-devel initscripts libXt-devel gtk2-devel lrzsz 虚拟机配置可参考本地yum源 2…

使用VSCode调试全志R128的C906 RISC-V核心

使用 VSCode 调试 调试 XuanTie C906 核心 准备工具 T-Head DebugServer&#xff08;CSkyDebugServer&#xff09; - 搭建调试服务器 下载地址&#xff1a;T-Head DebugServer手册&#xff1a;T-Head Debugger Server User Guide驱动&#xff1a;cklink_dirvers VSCode - 开…

TikTok Shop印尼站关闭给所有跨境卖家的警示(附止损解决方案)

01关店事件回顾 10月3日&#xff0c;印尼TikTok卖家迎来了他们的至暗时刻&#xff1a;官方邮件通知明确告知所有人&#xff0c;TikTok Shop于10月4日印尼西部时间17点正式关闭。 至此&#xff0c;TikTok在印尼成为不再拥有“电商功能”的短视频内容平台&#xff0c;所有人都可…

稀疏数组举例详解(Java形式表示)

稀疏数组 稀疏数组的定义稀疏数组的形式稀疏数组的用途Java形式实现稀疏数组1.创建稀疏矩阵2.遍历矩阵提取有效元素个数&#xff0c;来确立稀疏数组创建的行数&#xff08;行数有效元素个数1&#xff09;3.通过有效元素个数创建稀疏数组的个数4.填入初始行&#xff08;第一行&a…

2023 年最新 MySQL 数据库 Windows 本地安装、Centos 服务器安装详细教程

MySQL 基本概述 MySQL是一个流行的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛应用于各种业务场景。它是由瑞典MySQL AB公司开发&#xff0c;后来被Sun Microsystems收购&#xff0c;最终被甲骨文公司&#xff08;Oracle Corporation&#xff09;收购…

求二叉树的宽度(可执行)

输入&#xff1a;abd##e##cf### 输出结果&#xff1a;3 运行环境.cpp 注意&#xff1a;若无运行结果&#xff0c;则一定是建树错误 #include "bits/stdc.h" using namespace std; typedef struct BiTNode{char data;struct BiTNode *lchild,*rchild; }BiTNode,*Bi…

day30_servlet

今日内容 零、复习昨日 一、接收请求 二、处理响应 三、综合案例 零、复习昨日 画图, 请求处理的完整流程(javaweb开发流程) 零、注解改造 WebServlet注解,相当于是在web.xml中配置的servlet映射 Servlet类 package com.qf.servlet;import javax.servlet.ServletException; im…

leetcode:914. 卡牌分组(python3解法)

难度&#xff1a;简单 给定一副牌&#xff0c;每张牌上都写着一个整数。 此时&#xff0c;你需要选定一个数字 X&#xff0c;使我们可以将整副牌按下述规则分成 1 组或更多组&#xff1a; 每组都有 X 张牌。组内所有的牌上都写着相同的整数。 仅当你可选的 X > 2 时返回 tru…

作为测试你连K8S都不懂,你还有脸说自己是测试?

kubernetes&#xff0c;简称 K8s&#xff0c;是用 8 代替中间 8 个字符 “ubernete” 而成的缩写&#xff0c;是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful)&#xff0c;Kuberne…

vue3之echarts区域折线图

vue3之echarts区域折线图 效果&#xff1a; 核心代码&#xff1a; <template><div class"abnormal"><div class"per">单位&#xff1a;{{ obj.data?.unit }}</div><div class"chart" ref"chartsRef"&g…

如何在Linux以docker-compose方式快速部署运行StackEdit,并实现公网访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器&#xff0c;在GitHub上拥有20.7k Star&#xff01;&#xff0c;它支持将Markdown笔记保…

井下特种兵——智能管网监测终端

深入井下&#xff0c;守护每一滴水的智慧——井下特种兵&#xff0c;智能管网监测终端 你是否曾为地下管网的监测和维护感到困扰&#xff1f;现在&#xff0c;我们向你介绍一款强大的井下特种兵——智能管网监测终端。这是一款专门为解决地下管网监测难题而设计的智能设备&…

单/三相dq解耦控制与特定次谐波抑制

1. 单相整流器dq坐标系下建模 单相整流器的拓扑如图所示&#xff0c;可知 u a b u s − L d i s d t − R i s {u_{ab}} {u_{s}} - L\frac{{d{i_s}}}{{dt}} - R{i_s} uab​us​−Ldtdis​​−Ris​。   将电压和电流写成dq的形式。 { u s U s m sin ⁡ ( ω t ) i s I …

FPGA_探针(ISSP)调试工具

探针则是将 FPGA 内部的节点信号通过 JTAG 电缆传输到 PC 机上&#xff0c;方便用户观察。对于一些变化比较缓慢或者实时性要求不高的信号&#xff0c;使用该工具调试非常的方便&#xff0c;例如观察 ADC 的采样结果。 为了更便捷地进行板级调试&#xff0c;这里介绍 Qusrtus …

前端本地存储数据库IndexedDB

前端本地存储数据库IndexedDB 1、前言2、什么是 indexedDB&#xff1f;3、什么是 localForage&#xff1f;4、localForage 的使用5、VUE 推荐使用 Pinia 管理 localForage 1、前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff…