基于chromium for android开发Android浏览器

beat365官方入口素描网 📅 2025-08-15 08:39:06 👤 admin 👁️ 8179 ❤️ 204
基于chromium for android开发Android浏览器

大家好,又见面了,我是你们的朋友全栈君。

在上一篇文章<< Chromium for Android开源了 >>中谈到了Google已经完全开源了Chromium for Android,这样我们就完全可以开发与Chrome for Android媲美的Android浏览器了。通常浏览器的一些新特性和新功能会先出现在Chromium for Android上,稳定后才会出现在Chrome for Android上,如果我们基于Chromium for Android开发浏览器产品,在新特性和新功能方面不会落后于Chrome浏览器.

Chromium开源项目的代码及其庞大,也相当的复杂。对于Android开发人员,特别是UI开发人员来说,没有一个合适的IDE环境,会是一个非常痛苦的事情。我们通常是这样开发的,在sublime text中阅读、修改代码,使用chromium的构建系统build出apk,安装到手机,进行调试。对于native代码来说,这样的开发方式也不会有太多麻烦,因为native部分的代码通常修改很少。但如果主要进行UI的定制,这种开发方式就非常痛苦了。

为了应对这个问题,考虑如下方案:

采用Android Studio作为开发环境,从Chromium for Android抽取chrome模块的源码,加入Android project。native代码在chromium环境中build,作为so加入Android project基础模块(base, content, net等)在chromium环境build为jar包,加入Android projectcontent, chrome, ui等模块的资源文件加入Android library project资源文件为什么不能直接都添加到Android project呢?因为命名空间的原因,比如content模块的资源的命名空间为org.chromium.content, chrome模块的资源的命名空间为org.chromium.chrome,所以需要建立不同的Android library project, 指定不同的包名。最后整个项目的结构如下:

代码语言:javascript代码运行次数:0运行复制browser

|_ app

| |_ libs

| |_ src

| |_ main

| |_ aidl

| |_ assets

| |_ java

| |_ jniLibs

| |_ res

|_ libraries

|_ androidmedia_res

|_ chrome_res

|_ content_res

|_ datausagechart_res

|_ ui_res注意事项:

chromium项目的源码和资源有些是自动生成的,需要到out目录下去复制pak和dat等文件需要加入到assets目录,而且不能压缩aidl文件加入到main/aidl下,android studio会自动处理实践证明,这种方案是行之有效的,请参考github上的项目: 365browser。在script目录下有从chromium项目同步代码和资源的脚本。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146479.html原文链接:https://javaforall.cn

相关养生推荐

贵宾犬的剪毛护理指南(从头到尾,让你的贵宾犬焕然一新)
beat365官方入口素描网

贵宾犬的剪毛护理指南(从头到尾,让你的贵宾犬焕然一新)

📅 07-31 👁️ 4913
在 MathKiwi 中输入数学公式
365打水账号怎么防止封号

在 MathKiwi 中输入数学公式

📅 08-05 👁️ 5411
怎么合法收藏一把弩
365打水账号怎么防止封号

怎么合法收藏一把弩

📅 07-08 👁️ 877
2017男子世界杯综述
365打水账号怎么防止封号

2017男子世界杯综述

📅 07-28 👁️ 4409
Windows系统下,tracert路由跟踪指令详解
365打水账号怎么防止封号

Windows系统下,tracert路由跟踪指令详解

📅 07-06 👁️ 6624
乐心手环6s
国内在365投注

乐心手环6s

📅 07-23 👁️ 8466