外观
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 构建引用它,缺文件会报错)。