- Android SDK: 最低 API 26 (Android 8.0)
- Java 17
- Gradle 8.0+
- 仅支持 ARM64 架构 (arm64-v8a)
在项目根目录的 settings.gradle 或 settings.gradle.kts 文件中添加:
dependencyResolutionManagement {
repositories {
// 其他仓库...
maven { url = uri("https://jitpack.io") }
}
}在应用模块的 build.gradle 或 build.gradle.kts 文件中添加:
dependencies {
// Dimina 核心库
implementation 'com.github.didi.dimina:dimina:latest.release'
}dependencies {
// Dimina 核心库
implementation("com.github.didi.dimina:dimina:latest.release")
}在应用的 Application 类中初始化 Dimina SDK:
import com.didi.dimina.Dimina
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Dimina.init(this, Dimina.DiminaConfig.Builder()
// 是否启用调试模式:影响日志显示
// 调试模式不检测 App 是否已更新,都会进入 JSSDK 和 JSApp 的更新检测逻辑
.setDebugMode(true)
.build()
)
}
}将编译好的小程序压缩包放入 assets/jsapp 文件夹,文件夹以小程序id命名。每个小程序文件夹需包含以下内容:
config.json- 小程序配置文件,包含以下字段:
{
"appId": "wx92269e3b2f304afc", // 小程序唯一标识
"name": "小程序名称",
"path": "example/index", // 小程序入口路径
"versionCode": 1, // 启动小程序时会根据版本号确认是否需要更新
"versionName": "1.0.0"
}[appId].zip- 小程序代码包,文件名需与appId一致
目录结构示例:
assets/
└── jsapp/
├── wx92269e3b2f304afc/
│ ├── config.json
│ └── wx92269e3b2f304afc.zip
└── wxbaf4b47de04f1d8a/
├── config.json
└── wxbaf4b47de04f1d8a.zip启动小程序:
// 从 config.json 文件创建 MiniProgram 对象
val miniProgram = MiniProgram(
appId = "wx92269e3b2f304afc", // 小程序唯一标识
name = "小程序名称", // 小程序名称
versionCode = 1, // 版本号
versionName = "1.0.0", // 版本名称
path = "example/index" // 小程序入口路径
)
// 启动小程序
Dimina.getInstance().startMiniProgram(context, miniProgram)- dimina: 核心库,包含小程序运行环境、UI组件和生命周期管理
- engine-qjs: QuickJS JavaScript引擎,提供高性能的JS执行环境