开发一个内置Chromium内核的自定义浏览器

发布时间:2026/6/30 4:20:39
开发一个内置Chromium内核的自定义浏览器 我的小站Ean7的小站项目地址YQisme/android-browser因为在项目开发过程中遇到了一个场景不需要导航标签等浏览器功能只需要一个全屏的浏览器用于展示目标网页内容。但是目标硬件中的webview版本较低,是83的且无法升级所以就开发一个内置Chromium内核的浏览器跳过调用系统webview的步骤直接使用Chromium内核。基于独立 Chromium 133 内核的全屏浏览器应用通过 WebViewUpgrade 内置 Google WebView APK。功能内置 Chromium133.0.6943.138内核不依赖系统 WebView 版本全屏单页浏览无地址栏/导航栏右下角 ⋮ 按钮可设置网址/IP、端口、路径设置按钮默认隐藏键鼠操作时显示10 秒无操作后自动隐藏设置页显示当前内核版本支持开机自启动可在设置中开关默认开启最低支持 Android 11API 30项目结构browser/ ├── app/# Android 应用模块│ └── src/main/ │ ├── assets/webview/# 内置 Chromium WebView APK构建前准备│ ├── java/com/chromium/browser/ │ │ ├── BrowserApplication.kt# Application 入口│ │ ├── ui/# Activity、对话框│ │ ├── kernel/# Chromium 内核管理│ │ ├── prefs/# 用户设置持久化│ │ └── receiver/# 开机广播接收│ └── res/# 布局、图标、字符串等资源├── scripts/# 构建与部署脚本│ ├── download-webview.ps1# 下载/复制 WebView APK 到 assets│ ├── setup-sdk.ps1# 安装 Android SDK 组件│ ├── copy-apk.ps1# 复制 APK 到 dist/│ ├── install-apk.ps1# 安装 dist/ 中的 APK│ └── adb.bat# adb 快捷调用├── deps/# 本地大体积依赖需自行下载不提交 Git├── dist/# 构建输出的 APK不提交 Git├── build-apk.bat# 一键构建根目录快捷入口├── install-apk.bat# 一键安装├── adb.bat# adb 快捷入口├── gradlew / gradlew.bat# Gradle Wrapper└── settings.gradle.kts已构建 APK输出dist/{应用名称}-v{版本号}-debug.apk如dist/xx系统-v1.0-debug.apk体积约 250MB含内置 Chromium 内核名称取自strings.xml的app_name版本号取自build.gradle.kts的versionName。安装需在项目根目录下执行或adb.batinstall-rdist\xx系统-v1.0-debug.apk adb.bat devices不要直接输入adb系统 PATH 中未配置。请使用项目内的adb.bat/install-apk.bat。构建前准备依赖下载大体积文件推荐放入deps/也支持项目根目录。setup-sdk.ps1与download-webview.ps1会优先读取本地文件缺失时部分依赖可自动下载。文件用途下载链接获取方式commandlinetools-win-11076708_latest.zipAndroid SDK 命令行工具Google · 腾讯云镜像手动下载后放入deps/platform-34-ext7_r03.zipAndroid 34 平台 SDKGoogle · 腾讯云镜像手动下载后放入deps/platform-tools_r37.0.0-win.zipadb 等调试工具腾讯云镜像setup-sdk.ps1自动下载build-tools_r34-windows.zip构建工具 34.0.0腾讯云镜像setup-sdk.ps1自动下载133.0.6943.138_min26_arm3264.apkChromium WebView 内核GitHub Releases手动放入deps/或运行download-webview.ps1自动下载WebView APK 复制到 assets 后的路径为app/src/main/assets/webview/google_webview_133.apk。1. Android SDKpowershell-ExecutionPolicyBypass-Filescripts\setup-sdk.ps1需提前将commandlinetools-win-11076708_latest.zip与platform-34-ext7_r03.zip放入deps/见上表。platform-tools与build-tools由脚本自动从腾讯云镜像下载无需手动准备。2. Chromium WebView APKpowershell-ExecutionPolicyBypass-Filescripts\download-webview.ps1或直接运行build-apk.bat会自动调用上述脚本。脚本会按以下顺序获取内核包已存在于app/src/main/assets/webview/google_webview_133.apkdeps/或项目根目录中的133.0.6943.138_min26_arm3264.apk从 GitHub Releases 自动下载见上表链接使用说明首次启动会显示内核加载进度约数秒加载完成后进入全屏浏览页默认地址http://192.168.0.37:3000/可在设置中修改设置对话框底部显示当前 Chromium 内核版本开机自启动右下角 ⋮ → 设置 → 打开「开机自启动」设备重启后会自动打开本应用并进入浏览页部分品牌手机小米、华为、OPPO 等还需在系统设置里允许本应用的「自启动」权限否则开机广播可能被系统拦截。自定义应用名称与图标修改后需重新运行build-apk.bat打包。应用名称编辑app/src/main/res/values/strings.xmlstringnameapp_nameChromium Browser/string将Chromium Browser改为你想要的名称。该名称会显示在桌面图标下方和任务切换器中由AndroidManifest.xml的android:labelstring/app_name引用。应用图标当前图标资源位于app/src/main/res/mipmap-anydpi-v26/与drawable/ic_launcher_foreground.xml。方式一微调现有图标修改colors.xml中的ic_launcher_background更换背景色修改ic_launcher_foreground.xml更换前景图案方式二替换为自定义 PNG推荐准备各密度 PNGmdpi、hdpi、xhdpi、xxhdpi、xxxhdpi放入app/src/main/res/mipmap-*/命名为ic_launcher.png与ic_launcher_round.png或在 Android Studio 中右键res→New → Image Asset按向导生成版本号与包名可选编辑app/build.gradle.kts的defaultConfigapplicationIdcom.chromium.browser// 包名修改后视为新应用 versionCode1// 内部版本号每次发版建议 1 versionName1.0// 用户可见版本号输出 APK 文件名build-apk.bat打包完成后会自动复制到dist/并重命名为dist/{app_name}-v{versionName}-debug.apkapp_namestrings.xml中的应用名称versionNamebuild.gradle.kts中的版本号修改应用名或版本号后重新打包输出文件名会随之更新。技术说明使用 WebViewUpgrade 在应用内加载独立 WebView APK内核包来源WebViewPackage Google WebView 133仅影响本应用不修改系统全局 WebView