plugins { // 应用 Android 应用插件(通过别名引用 libs 中的插件配置,需在 settings.gradle 中定义依赖) alias(libs.plugins.android.application) } android { // 配置 Android 项目的命名空间(Android Studio Arctic Fox 及以上版本推荐设置) namespace 'net.micode.notes' // 设置编译 SDK 版本(使用 Android API 35 进行编译) compileSdk 35 packaging { // 资源打包配置:排除不需要的文件(避免与第三方库的资源冲突) resources { resources.excludes.add("META-INF/DEPENDENCIES"); resources.excludes.add("META-INF/NOTICE"); resources.excludes.add("META-INF/LICENSE"); resources.excludes.add("META-INF/LICENSE.txt"); resources.excludes.add("META-INF/NOTICE.txt"); } } defaultConfig { // 应用唯一标识符(需与 AndroidManifest.xml 中的 package 保持一致) applicationId "net.micode.notes" // 最小支持的 Android 版本(API 24 = Android 7.0) minSdk 24 // 目标 Android 版本(建议与 compileSdk 保持一致) targetSdk 35 // 版本号(用于内部版本控制,整数,递增) versionCode 1 // 版本名称(显示给用户的版本号,字符串) versionName "1.0" // 测试工具运行器(用于 Android instrumentation 测试) testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { // 发布版本配置 minifyEnabled false // 关闭代码混淆(true 为开启,需配合 ProGuard 规则) // ProGuard 规则配置(优化版 Android 基础规则 + 自定义规则文件) proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { // Java 编译选项(统一项目 Java 版本为 11) sourceCompatibility JavaVersion.VERSION_11 // 源文件兼容性 targetCompatibility JavaVersion.VERSION_11 // 目标字节码兼容性 } } dependencies { // HTTP 客户端库(注意:Android 6.0+ 需动态申请网络权限) implementation("org.apache.httpcomponents:httpclient:4.5.14") // AndroidX 支持库 implementation libs.appcompat // AppCompat 兼容性库(必选) implementation libs.material // Material Design 组件库 implementation libs.activity // Activity 组件扩展库 implementation libs.constraintlayout// 约束布局库(推荐的布局方式) // 测试依赖 testImplementation libs.junit // JUnit 4 测试框架(本地单元测试) androidTestImplementation libs.ext.junit // AndroidX JUnit 扩展(Instrumentation 测试) androidTestImplementation libs.espresso.core // Espresso UI 自动化测试库 }