plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) alias(libs.plugins.ksp) } version = "1.0.0" android { namespace = "com.yuanxuan.tracking_point.library" compileSdk { version = release(36) } defaultConfig { minSdk = 23 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { debug { buildConfigField("String", "BASE_URL", "\"http://192.168.2.7:18828\"") } release { buildConfigField("String", "BASE_URL", "\"http://192.168.2.7:18828\"") isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { buildConfig = true } } dependencies { testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) implementation(libs.androidx.core.ktx) implementation(libs.androidx.work.ktx) implementation(libs.retrofit) implementation(libs.retrofit.converter.moshi) implementation(libs.okhttp.logging.interceptor) implementation(libs.moshi) ksp(libs.moshi.kotlin.codegen) implementation(libs.androidx.room) implementation(libs.androidx.room.ktx) ksp(libs.androidx.room.ksp) } tasks.register("buildAar") { group = "build" description = "Build AAR manually" dependsOn("assembleRelease") doLast { // 2. 定义 release 和 debug 两个目标文件夹 val releaseDestDir = rootProject.file("aar/release") // 3. 执行文件复制操作 // 复制 release 包 copy { from(layout.buildDirectory.file("outputs/aar/library-release.aar")) into(releaseDestDir) rename { "trackingPoint-${project.version}.aar" } } // 4. 打印清晰的成功信息 println( """ AARs have been built and copied: - Release: ${releaseDestDir.absolutePath}/trackingPoint.aar """.trimIndent() ) } }