// 通用配置
android {

    // 编译源码版本
    compileSdk 36
    defaultConfig {
        // 最低安装版本
        minSdk 23
        // Android 版本适配指南：https://github.com/getActivity/AndroidVersionAdapter
        targetSdk 36
        versionName '1.0'
        versionCode 10
    }

    // 支持 Java JDK 8
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }

    // 设置存放 so 文件的目录
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

    // 可在 Studio 最左侧中的 Build Variants 选项中切换默认的构建类型
    buildTypes {
        // 调试版本
        debug {}
        // 预览版本
        preview {
            matchingFallbacks = ['debug']
        }
        // 正式版本
        release {}
    }

    // 代码警告配置
    lint {
        // HardcodedText：禁用文本硬编码警告
        // ContentDescription：禁用图片描述警告
        disable 'HardcodedText', 'ContentDescription'
    }

    // 读取 local.properties 文件配置
    def properties = new Properties()
    def localPropertiesFile = rootProject.file("local.properties")
    if (localPropertiesFile.exists()) {
        localPropertiesFile.withInputStream { inputStream ->
            properties.load(inputStream)
        }
    }

    String buildDirPath = properties.getProperty("build.dir")
    if (buildDirPath != null && buildDirPath != "") {
        // 将构建文件统一输出到指定的目录下
        setBuildDir(new File(buildDirPath, rootProject.name + "/build/${path.replaceAll(':', '/')}"))
    } else {
        // 将构建文件统一输出到项目根目录下的 build 文件夹
        setBuildDir(new File(rootDir, "build/${path.replaceAll(':', '/')}"))
    }
}

dependencies {
    // 依赖 libs 目录下所有的 jar 和 aar 包
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

    implementation libs.appCompat
    implementation libs.material
}