首页 > 其他分享 >Android Studio Gradle->Android Studio创建项目后,生成文件详解

Android Studio Gradle->Android Studio创建项目后,生成文件详解

时间:2024-08-13 19:25:50浏览次数:9  
标签:插件 gradle 构建 版本 Studio Android Gradle

Gradle版本:gradle-8.0
Android Studio版本:Android Studio Giraffe | 2022.3.1 Patch 3
在这里插入图片描述

  • .gradle 文件夹
    • 作用:存储 Gradle 缓存和构建信息
    • 内容:包括 Gradle 构建缓存、已下载的依赖项等。这个文件夹可以安全地删除,Gradle 会在下次构建时重新生成它
  • .idea 文件夹
    • 作用:存储与 IntelliJ IDEAAndroid Studio 基于的 IDE)相关的项目配置
    • 内容:包括项目和模块设置、代码样式、运行配置等。这个文件夹对于项目在 Android Studio 中的正确打开和运行是必要的
  • .gitignore 文件
    • 作用:Git 配置文件,指定哪些文件和文件夹不应被版本控制系统(Git)跟踪
    • 内容:通常包括忽略编译输出、用户特定的配置文件、Gradle 缓存等
  • gradle 文件夹
    • 作用:包含 Gradle Wrapper 的配置
    • 内容:包含一个 wrapper 子文件夹,其中包括 gradle-wrapper.properties 文件和 gradle-wrapper.jar 文件,用于确保项目使用正确版本的 Gradle,把项目代码共享给其他人使用时,有可能伙伴没有安装gradle或者gradle版本过旧而无法运行代码,这个时候需要用到Gradle Wrappergradle -v是查看电脑全局的gardle版本, /.gradlew -v是查看当前工程文件的局部版本
      • gradle-wrapper.jar:包含 Gradle Wrapper 实现的 JAR 文件,负责下载和执行指定版本的 Gradle
      • gradle-wrapper.properties:一个配置文件,用于指定项目使用的 Gradle 版本及其下载位置
#Tue Aug 13 10:39:46 CST 2024
distributionBase=GRADLE_USER_HOME //指定 Gradle 发行版的基础存储位置
distributionPath=wrapper/dists // 指定相对于 distributionBase 基础目录的子路径
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip   //下载Gradle版本的URL
zipStoreBase=GRADLE_USER_HOME // 存储 ZIP 文件的基础存储位置
zipStorePath=wrapper/dists //指定相对于 zipStoreBase 基础目录的子路径
  • build.gradleProject 级别)
  • 作用:项目级别的 Gradle 构建文件
  • 内容:定义了全局的构建配置和依赖项管理,包括各个模块的构建依赖和构建配置。plugins 块用于声明项目或模块所需的插件及其版本,apply false 来延迟应用提高项目的构建管理效率
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
	id 'com.android.application' version '8.1.3' apply false
	id 'org.jetbrains.kotlin.android' version '1.9.0' apply false
}
  • app 文件夹
    • 作用:存储应用的源代码和资源。
    • 内容:
      • src/main/javaJavaKotlin 源代码
      • src/main/res:应用的资源文件(如布局、字符串、图像等)
      • src/main/AndroidManifest.xml:应用的清单文件,定义了应用的组件和权限
      • build.gradle (Module 级别):模块级别的 Gradle 构建文件,定义了该模块的构建依赖和构建配置
plugins {
    id 'com.android.application' // 应用 Android 应用程序插件,用于构建 Android 应用
    id 'org.jetbrains.kotlin.android' // 应用 Kotlin Android 插件,用于支持在 Android 项目中使用 Kotlin 编程语言
}

android {
    namespace 'com.yang.gradleDemo' // 定义应用程序的命名空间,用于生成 R 类和其他资源
    compileSdk 33

    defaultConfig {
        applicationId "com.yang.gradleDemo" // 应用程序的唯一标识符
        minSdk 24
        targetSdk 33
        versionCode 1 // 应用程序的版本代码,用于内部版本管理
        versionName "1.0" // 应用程序的版本名称,显示给用户
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // 指定用于运行仪器测试的测试运行器
    }

    buildTypes {
        release { // 定义发布版本的构建类型
            minifyEnabled false // 是否启用代码缩减(ProGuard/R8),这里设置为不启用
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 指定 ProGuard 配置文件,用于代码混淆和优化
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8 // 指定 Java 源代码的兼容性版本
        targetCompatibility JavaVersion.VERSION_1_8 // 指定编译后的字节码的兼容性版本
    }
    kotlinOptions {
        jvmTarget = '1.8' // 指定 Kotlin 编译器生成与 Java 8 兼容的字节码
    }
}

// 各种依赖
dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.8.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
  • settings.gradle文件
    • 作用:定义项目的设置,包括哪些模块包含在项目中
    • 内容:列出所有包含在项目中的模块
pluginManagement { // 配置插件管理,包括插件仓库
    repositories { // 指定用于解析插件的仓库
        google() // Google 的 Maven 仓库,常用于 Android 相关插件
        mavenCentral() // Maven 中央仓库,广泛用于各种 Java 和 Kotlin 插件
        gradlePluginPortal() // Gradle 官方的插件门户,包含各种 Gradle 插件
    }
}

dependencyResolutionManagement { // 配置依赖解析管理,包括依赖项仓库
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) // 设置仓库模式为 FAIL_ON_PROJECT_REPOS,防止在项目级别配置仓库
    repositories { // 指定用于解析依赖项的仓库
        google() // Google 的 Maven 仓库,常用于 Android 相关库
        mavenCentral() // Maven 中央仓库,广泛用于各种 Java 和 Kotlin 库
    }
}

rootProject.name = "gradleDemo" // 设置根项目的名称为 "gradleDemo"
include ':app' // 包含名为 ":app" 的子项目或模块
  • gradle.properties文件
    • 作用:Gradle 的配置文件,定义项目构建过程中的一些全局属性
    • 内容:可以设置内存使用、守护进程配置等
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 // 设置 JVM 参数以优化 Gradle 构建过程的性能和兼容性
android.useAndroidX=true // 启用 AndroidX 库,确保项目使用最新的支持库
kotlin.code.style=official // 设置 Kotlin 代码风格,确保团队成员遵守统一的代码规范
android.nonTransitiveRClass=true // 启用非传递性的 R 类,减少构建时间和方法数,特别是在多模块项目中
  • . gradlew
    • 作用:Linux/macOS 上的 Gradle Wrapper 脚本
    • 内容:用于在没有安装 Gradle 的情况下运行项目的构建
  • gradlew.bat
    • 作用:Windows 上的 Gradle Wrapper 脚本
    • 内容:用于在没有安装 Gradle 的情况下运行项目的构建
  • local.properties
    • 作用:定义本地机器上的特定属性,如 SDK 的路径
    • 内容:通常包含 Android SDK 的路径

标签:插件,gradle,构建,版本,Studio,Android,Gradle
From: https://blog.csdn.net/sunshine_guo/article/details/141159722

相关文章

  • # Android开发 - FileWriter 类写入文件解析
    FileWriter是什么FileWriter是一个用于将字符数据写入文件中的类。在Java中,它使得文件的写入操作变得简单直观FileWriter继承自OutputStreamWriter类,进一步继承自WriterFileWriter构造方法FileWriter(StringfileName):创建一个FileWriter对象,用于写入指定文件......
  • Android开发 - File类文件操作解析
    File是什么File类用于处理文件和目录。它允许你创建、删除、读取和写入文件。你可以用它来获取文件路径、检查文件是否存在、获取文件大小等。例如,Filefile=newFile(context.getFilesDir(),"example.txt");可以用来在应用的私有目录中创建一个名为example.txt的文件......
  • gradle-wrapper使用
    Gradle简介Gradle是和maven类似的构建工具,基于groovy开发gradle-wrapper的好处能自动下载对应版本的Gradle(这样,尽管机器上没有gradle也能运行gradle,因为会帮你下)各个环境的Gradle能保持一致(能避免构建工具版本不同导致的问题)​ 从github拉一个gradle项目下来,一般都会有......
  • Android之集成Unity及互相调用
    Unity官方文档DemoUnity与原生交互之AndroidStudio篇——Unity导出Android工程,导入AndroidStudio打包APK全流程Unity3D与Android交互问题一Error:Unity.IL2CPP.Building.BuilderFailedException:Buildfailedwith0successfulnodesand0failedonesError:Inte......
  • 修改『Visual Studio Code(VS Code)』插件默认安装路径的方法
    前言作者希望将『VisualStudioCode(以下简称为“VSCode”)』的插件安装在数据盘(D盘),用于统一管理,因此需要修改VSCode插件安装路径。VSCode插件默认的安装位置为:C:\Users\{个人用户名}\.vscode\extensions。方法一:修改快捷方式目标路径(★★☆)1.确保『code』快捷命令的可用......
  • Android KTX
    AndroidKTX是包含在Android Jetpack 及其他Android库中的一组Kotlin扩展程序。KTX扩展程序可以为Jetpack、Android平台及其他API提供简洁的惯用Kotlin代码。为此,这些扩展程序利用了多种Kotlin语言功能,其中包括:扩展函数扩展属性Lambda命名参数参数默认值......
  • Visual Studio 修改NuGet 包路径
    目的:通过NuGet安装包时,NuGet先将包下载至一个统一的目录,默认路径是:C:\Users\{用户名}\.nuget\packages。现在需要将其迁移到目录E:\nuget\packages步骤1、在C:\ProgramFiles(x86)\NuGet\Config目录中找到Microsoft.VisualStudio.Offline.config。在文件末尾添加一......
  • 【软件下载及安装】VisualStudio安装
    下载及安装教程:VisualStudio2017VisualStudio2019VisualStudio2022专业版密钥:TD244-P4NB7-YQ6XK-Y8MMM-YWV2J企业版密钥:VHF9H-NXBBB-638P6-6JHCY-88JWH......
  • Android设置DisplayViewport
    //设置DisplayViewportperformTraversalLockedclearViewportsLocked();mViewports.clear();configureDisplayLocked(t,device);populateViewportLocked(viewportType.get(),display.getDisplayIdLocked(),device,info);finalDi......
  • Android设置鼠标显示的屏幕
    @frameworks/native/services/inputflinger/reader/InputReader.cppInputReader::loopOncerefreshConfigurationLocked(changes);@frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cppmPolicy->getReaderConfigurati......