|
|
|
@ -1,46 +1,71 @@
|
|
|
|
|
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.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");
|
|
|
|
|
// 资源打包配置:排除不需要的文件(避免与第三方库的资源冲突)
|
|
|
|
|
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
|
|
|
|
|
// 发布版本配置
|
|
|
|
|
minifyEnabled false // 关闭代码混淆(true 为开启,需配合 ProGuard 规则)
|
|
|
|
|
// ProGuard 规则配置(优化版 Android 基础规则 + 自定义规则文件)
|
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
|
sourceCompatibility JavaVersion.VERSION_11
|
|
|
|
|
targetCompatibility JavaVersion.VERSION_11
|
|
|
|
|
// Java 编译选项(统一项目 Java 版本为 11)
|
|
|
|
|
sourceCompatibility JavaVersion.VERSION_11 // 源文件兼容性
|
|
|
|
|
targetCompatibility JavaVersion.VERSION_11 // 目标字节码兼容性
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
|
// 第三方库依赖管理(建议通过 libs 别名集中声明,位于 build.gradle.kts 或 settings.gradle)
|
|
|
|
|
|
|
|
|
|
// HTTP 客户端库(Apache HttpClient 4.5.14,注意:Android 6.0+ 需动态申请网络权限)
|
|
|
|
|
implementation("org.apache.httpcomponents:httpclient:4.5.14")
|
|
|
|
|
implementation libs.appcompat
|
|
|
|
|
implementation libs.material
|
|
|
|
|
implementation libs.activity
|
|
|
|
|
implementation libs.constraintlayout
|
|
|
|
|
testImplementation libs.junit
|
|
|
|
|
androidTestImplementation libs.ext.junit
|
|
|
|
|
androidTestImplementation libs.espresso.core
|
|
|
|
|
|
|
|
|
|
// 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 自动化测试库
|
|
|
|
|
}
|