来,谷歌安卓浏览器源码就在这!

欢迎在GitHub或者CSDN上关注我

GitHub: https://github.com/JackyAndroid

CSDN: http://blog.csdn.net/rain_butterfly


AndroidChromium

这里写图片描述

AndroidChromium源码地址

如果使用的是AndroidStudio 2.0以上版本且开启instant run功能,建议关闭后再进行调试(instant run会修改首先启动的Application导致chrome provider context 引用错误导致crash)

简介

  • 谷歌浏览器安卓版源码项目
  • 本项目是世界级的安卓架构
  • 理清本项目业务逻辑完全可以胜任国内一线公司工程师
  • 本项目会长期跟进并升级谷歌浏览器内核版本,欢迎star

效果图

这里写图片描述这里写图片描述这里写图片描述这里写图片描述这里写图片描述这里写图片描述


以下是升级chrome内核注意事项,如不是相关人员可以忽略


准备

参考官方及其他教程编译通过chromium源码,并能生成chrome.apk

目的

使用AndroidStudio开发环境调试Chromium Android UI层。

构建思路

  1. 采用Android Studio作为开发环境,从Chromium for Android抽取chrome模块的源码,加入Android project。
  2. native代码在chromium环境中build,作为so加入Android project
  3. 基础模块(base, content, net等)在chromium环境build为jar包,加入Android project
  4. content, chrome, ui等模块的资源文件加入Android library project

资源文件为什么不能直接都添加到Android project呢?

因为命名空间的原因,比如content模块的资源的命名空间为org.chromium.content, chrome模块的资源的命名空间为 org.chromium.chrome,所以需要建立不同的Android library project, 指定不同的包名。

本项目和源码目录对应关系

app/libs ———– chromium/src/out/Release/lib.java

app/src/main/aidl ———– chromium/src/chrome/android/java/src/android/support/customtabs/*.aidl

app/src/main/assets ———– chromium/src/out/Release/assets/chrome_public_apk

app/src/main/java ———— chromium/src/chrome/android/java/src

app/src/main/jniLibs ———– chromium/src/out/Release/chrome_public_apk/libs

app/src/main/res(app module 初始化资源)

libraries/androidmedia_res ———– chromium/src/third_party/android_media/java/res

libraries/chrome_res ———– chromium/src/chrome/android/java/res & chromium/src/chrome/android/java/res_chromium

libraries/content_res ———– chromium/src/content/public/android/java/res

libraries/datausagechart_res ——— chromium/src/third_party/android_data_chart/java/res

libraries/ui_res ———- chromium/src/ui/android/java/res

建议&注意事项

  1. pak和dat等文件需要加入到assets目录,而且不能压缩
  2. aidl文件加入到main/aidl下,android studio会自动处理
  3. 目前构建的chromium版本是48.0.2554.0,内核为官方版本
  4. 因为某些java文件是通过C文件编译生成,只存在chromium/src/out 目录下。如果按以上对应关系升级版本缺失文件,请到out/目录下去搜索,根据命名空间添加相应文件。还有一些临时生成的xml资源文件也需要从out/目录下去拷贝到相应的资源模块。
  5. 如果使用的是AndroidStudio 2.0以上版本且开启instant run功能,建议关闭后再进行调试(instant run会修改首先启动的Application导致chrome provider context 引用错误导致crash)

感谢

本项目灵感来自于365browser

License

Copyright 2016 Jacky Wang<jacky.android@foxmail.com>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Android源码本地浏览器是指使用Android源码开发的一款可以在本地设备上运行的浏览器应用程序。 Android源码是指Google开放的Android操作系统的源代码,开发者可以利用这些源代码进行二次开发,根据自己的需求进行定制和修改。本地浏览器是指在Android设备上安装和运行的浏览器应用程序,可以用来浏览互联网上的网页。 开发一个Android源码本地浏览器需要熟悉Android开发技术和Java语言,以及一些基本的前端开发知识。在开发过程中,可以利用Android提供的WebView组件来实现浏览网页的功能;通过WebView可以加载和显示网页内容,支持多种网页特性和功能,如链接点击、表单提交、JavaScript交互等。可以根据需要对WebView进行定制和配置,例如修改界面风格、添加浏览历史记录、实现收藏夹功能等。 除了基本的浏览功能,Android源码本地浏览器还可以根据需求进行扩展和定制。例如,可以添加书签管理器,用于管理用户的收藏夹;可以添加下载管理器,用于下载文件;可以添加隐私模式,提供匿名浏览功能;可以实现缓存功能,提高浏览速度等。 在开发过程中,还需要考虑安全性和性能问题。例如,可以通过实现安全浏览模式,对不安全的网站给予警告或阻止访问;可以对网页内容进行优化,提高浏览速度和用户体验。 总而言之,Android源码本地浏览器是使用Android源码开发的一款浏览网页的应用程序,可以根据需求进行定制和扩展,提供丰富的功能和良好的用户体验。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值