Android Studio 安装及使用

🍓 简介:java系列技术分享(👉持续更新中...🔥)

🍓 初衷:一起学习、一起进步、坚持不懈

🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏

🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝

🍓 更多文章请点击

文章目录

一、简介

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}{示例: 通过注释熟悉} 示例:通过注释熟悉
项目级别

json 复制代码
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'
	}
}

模块级别

json 复制代码
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 复制代码
<?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节点内部还配置了过滤信息
相关推荐
黄林晴39 分钟前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我1 小时前
flutter 之真手势冲突处理
android·flutter
法的空间1 小时前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios
循环不息优化不止1 小时前
深入解析安卓 Handle 机制
android
恋猫de小郭1 小时前
Android 将强制应用使用主题图标,你怎么看?
android·前端·flutter
jctech2 小时前
这才是2025年的插件化!ComboLite 2.0:为Compose开发者带来极致“爽”感
android·开源
用户2018792831672 小时前
为何Handler的postDelayed不适合精准定时任务?
android
叽哥2 小时前
Kotlin学习第 8 课:Kotlin 进阶特性:简化代码与提升效率
android·java·kotlin
Cui晨2 小时前
Android RecyclerView展示List<View> Adapter的数据源使用View
android
氦客2 小时前
Android Doze低电耗休眠模式 与 WorkManager
android·suspend·休眠模式·workmanager·doze·低功耗模式·state_doze