1.AndroidStudio介绍

        Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具,还提供更多可提高 Android 应用构建效率的功能,例如:

  • 基于 Gradle 的灵活构建系统
  • 快速且功能丰富的模拟器
  • 统一的环境(供您开发适用于所有 Android 设备的应用)
  • 通过实时编辑功能实时更新模拟器和实体设备中的可组合项
  • 代码模板和 GitHub 集成,可协助您打造常见的应用功能及导入示例代码
  • 大量的测试工具和框架
  • Lint 工具,能够找出性能、易用性和版本兼容性等方面的问题
  • C++ 和 NDK 支持
  • 内置对 Google Cloud Platform 的支持,可轻松集成 Google Cloud Messaging 和 App Engine

2.项目结构

        Android Studio 中的项目包含为应用定义工作区的所有内容,包括源代码、资源、测试代码和 build 配置。 

  • manifests:包含 AndroidManifest.xml 文件。
  • java:包含 Kotlin 和 Java 源代码文件,包括 JUnit 测试代码。
  • res:包含所有非代码资源,例如界面字符串和位图图像。

AndroidStudio的Iguana版的使用-LMLPHP

2.1MainActivity.java和activity_main.xml

        什么是MainActivity,就是一个Android的APP 如果它有Activity的话,那么最开始启动的那个Activity就是MainActivity。

        每一个组件,包括Activity都必须要在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.Demo2"
        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>

        MainActivity文件

package com.gaoting.demo2;

import android.os.Bundle;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }
}

        activity_main.xml

        Android程序的设计讲究逻辑和视图分离,因此是不推荐在活动中直接编写界面的,更加通用的一种做法是,在布局文件中编写界面,然后在活动中引人进来。可以看到,在onCreate()
方法的第二行调用了setContentView()方法, 就是这个方法给当前的活动引人了一个layout布局。

        布局文件都是定义在res/layout 目录下的,展开layout目录,会看到activity_main.xml这个文件。

2.2R.txt文件 

         Android Studio 中 R.java 没了,转为 R.txt 文件。

        原来是 AGP 在性能方面的优化,跳过 java 文件,直接生成 R 文件的字节码,虽然R.java没有了,但 AGP 会输出 R.txt 供开发者使用。

        查找 R.java(R.txt) 位置:

        1、默认是没有 build 文件夹的,R.java(R.txt) 在 build 文件夹中。

        2、创建项目之后,找到工具栏中的 Build 选项,先 clear 在 build 生成文件夹。

AndroidStudio的Iguana版的使用-LMLPHP

3.gradle-wrapper.properties配置解读

3.1环境变量GRADLE_USER_HOME 

        GRADLE_USER_HOME是Gradle构建工具的一个重要属性,用于设置Gradle用户目录的路径。该属性的默认值根据平台不同而不同,Windows平台默认为C:\Users\用户名\.gradle,Linux和Mac平台默认为~/ .gradle。可以通过设置该属性来指定Gradle用户目录的位置。

        GRADLE_USER_HOME的作用
        1、缓存依赖项:Gradle会在GRADLE_USER_HOME路径下存储缓存的依赖项。这样一来,在同一个项目或者不同项目中,相同的依赖项只需要下载一次,就可以进行共享,加快了构建的速度。

        2、缓存元数据:Gradle还会将元数据(例如版本控制系统、依赖项解析结果等)存储在GRADLE_USER_HOME路径下的缓存目录中。这可以避免在构建过程中重复获取和解析元数据,提高了构建的效率。

        3、存储插件:Gradle会自动下载并安装插件,并将其存储在gradleuserhome目录下的插件目录中。这可以避免在每个项目中都需要手动安装插件,方便了使用。

        如下是文件AndroidManifest.xml的设置:

#Wed May 01 07:10:44 CST 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

        环境变量:GRADLE_USER_HOME 

AndroidStudio的Iguana版的使用-LMLPHP

        Gradle用户目录: 

AndroidStudio的Iguana版的使用-LMLPHP

3.2distributionUrl

         distributionUrl 决定了这个项目使用的gradle版本,也就是说不同的项目可以使用不同的gradle版本,这也就是为什么修改Gradle Home失败的原因。那么我们怎么知道gradle有哪些版本呢?Gradle下载地址:https://services.gradle.org/distributions/。为了加速可以使用国内Gradle镜像如腾讯软件:Index of /gradle/

:本文使用的是AndroidStudio 2023.2.1版本。

AndroidStudio的Iguana版的使用-LMLPHP

05-11 04:51