Skip to content

2 build.gradle.kts ​

模块根目录新建 build.gradle.kts,照抄并替换名字:

kotlin
plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.compose)
}

android {
    namespace = "com.zhinian.plugin.what2eat"
    compileSdk {
        version = release(37)
    }

    defaultConfig {
        applicationId = "com.zhinian.plugin.what2eat"
        minSdk = 24
        targetSdk = 36
        versionCode = 1
        versionName = "1.0.0"
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        // 纯本地插件到此为止;需要走后端中转接口才加 RELAY_TOKEN(见附录 B)
    }

    aaptOptions {
        additionalParameters("--package-id", "0x80")   // 固定:避免与宿主资源 id 冲突
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    buildFeatures {
        compose = true
        buildConfig = true
    }
    lint {
        abortOnError = false
        checkReleaseBuilds = false
    }
}

dependencies {
    // 基础栈 Compose/AndroidX/OkHttp/Coil/协程 + 公共 UI 库 + 宿主桥接
    implementation(project(":obsession-shared"))
    // 插件框架 API:宿主运行时提供,compileOnly 不打进 APK
    compileOnly(libs.hualuo.plugin.framework)

    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
    androidTestImplementation(platform(libs.androidx.compose.bom))
    androidTestImplementation(libs.androidx.compose.ui.test.junit4)
    debugImplementation(libs.androidx.compose.ui.tooling)
    debugImplementation(libs.androidx.compose.ui.test.manifest)
}

再放一个空的 proguard-rules.pro(release 构建引用它,缺文件会报错)。