在 Android 应用中内嵌 Vue3 页面通常通过 WebView 实现,以下是完整的解决方案指南:
一、基础集成方案
1. Android WebView 配置
// MainActivity.kt
val webView = WebView(this).apply {
settings.javaScriptEnabled = true
settings.domStorageEnabled = true // 启用 localStorage
settings.cacheMode = WebSettings.LOAD_DEFAULT // 缓存策略
webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
return false // 禁止跳转外部浏览器
}
}
addJavascriptInterface(WebAppInterface(this@MainActivity), "Android")
}
// 加载 Vue 页面(本地或远程)
webView.loadUrl("file:///android_asset/dist/index.html") // 本地打包
// 或 webView.loadUrl("https://your-domain.com/app")
2. JavaScript 桥接接口
class WebAppInterface(private val context: Context) {
@JavascriptInterface
fun