首页 > 编程知识 正文

android集成chromium,Android chromium

时间:2023-05-05 08:02:02 阅读:221289 作者:1139

在前面的两篇文章中,分别介绍了如何下载Google Chromium源码。以及编译Android版本的chromium浏览器。

-------------------------------------------------------------------------------------------------------------

准备知识

在实际的开发中,如果直接在chrome的源码上修改代码,既费时也费力,在github找了一个可以直接用 Android studio 编辑调试的chrome的代码,见:Chromium-Android。可以直接在Android studio中打开这个工程,可以直接编译通过,在华为手机(Android 8.1版本)上运行没问题。

github上有另外一个Android版本的chromium,但是版本比较老,可以参考一下,AndroidChromium

 

以及几个是感觉不错的参考文档。

chromium 的开发人员文档 

Chromium docs 

 the Chromium build system supports Android app bundles

github版本的chromium源码,这个源码之能用来查看学习,不能用来编译,因为下载到本地编译时会缺少库文件,

Chrome Custom Tabs, 这个例子值得学习,该网站上提供的例子,在APP中直接调用chrome浏览器的内核,但是具体怎么实现的现在还不清楚。

----------------------------------------------------------------------------------------------------------------------

开始定制 需求

(1)将Chromium编译成一个Android app程序,打开后,默认为指定的网站,没有工具栏,没有地址框,也没有第一次运行的开始使用界面。

(2)打包成app发布在应用市场,需要修改包名,修改app名称,修改版本号,打包签名。

(3)默认打包好的chromium是不能播放mp4格式视频的,解决这个bug。

修改步骤

(1)修改包名

文件:chrome/android/BUILD.gnmanifest_package = "org.chromium.chrome"test_manifest_package = "org.chromium.chrome.tests"

(2)修改版本号

文件:chrome/android/java/AndroidManifest.xmlandroid:versionCode="1"android:versionName="0.1.0"

这里需要说明的是:修改版本号的最正确的方法是在文件:chrome/VERSION  文件中,修改这个文件后,整个chromium的版本号都变了,但是这在编译的时候会出错,查找了一下,也没有找到原因,而且看Brave(chromium浏览器的变体)的版本号也只是修改了app的外层版本号,其内的版本号还是chromium的版本号。

 

----------------------------------(3)去掉工具栏,地址框等。chrome/android/java/res/layout/control_container.xmlchrome/android/java/res/values-sw600dp/dimens.xmlchrome/android/java/res/values/dimens.xml---------------------------(4)屏蔽第一次使用的界面chrome/android/java/res/layout/account_signin_view.xmlchrome/android/java/res/layout/fre_data_reduction_proxy.xmlchrome/android/java/res/layout/fre_tosanduma.xmlchrome/android/java/src/org/chromium/chrome/browser/firstrun/AccountFirstRunFragment.java chrome/android/java/src/org/chromium/chrome/browser/firstrun/DataReductionProxyFirstRunFragment.javachrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java---------------------------------------(5)修改app的logochrome/android/java/res/mipmap-XX 等chrome/android/java/res_chromium/drawable-XX 等(6)修改app名字文件:chrome/android/java/res_chromium/values/channel_constants.xml(7)修改首页地址文件:chrome/android/java/src/org/chromium/chrome/browser/UrlConstants.java

在编译Android版本的chromium浏览器文章中给的args.gn文件的配置是默认的配置,这个版本是不能播放mp4的视频的,但是可与播放youtube的视频,当初猜到了是视频解码的问题,MP4的视频解码是h264,因此重新执行命令:gn args out/Default,并配置如下:

# args.gn文件target_os = "android"target_cpu = "arm"enable_remoting = falseis_debug = falseis_official_build = trueis_component_build = falseuse_official_google_api_keys = falseenable_resource_whitelist_generation = falseenable_nacl = falseremove_webcore_debug_symbols = falseproprietary_codecs = trueffmpeg_branding = "Chrome"android_channel = "stable"#解决不能播放MP4格式的视频问题use_openh264=true chrome_pgo_phase=0 full_wpo_on_official=true#rtc_initialize_ffmpeg = truertc_use_h264 = true#解决签名的问题android_keystore_name = "hello"android_keystore_password = "hello"android_keystore_path = "//build/android/hello-app.jks" 附言

这个文章是近两个月的收获,希望能给大家来点干活,编译chromium浏览器,遇到了很多问题,但最后都一一解决了。

最后贴几个很有用的网站:

bromite浏览器,这个浏览器是chromium的另一个变体,并开源了编译这个浏览器的步骤,并且给了 args.gn 文件。我按照参考完全编译了一遍,是可行的。

7 Best Chromium Browsers for Android (2018),这个网站给出了7个最好用的chromium变体浏览器,如果想修改chromium,可以参考这几个,但不知道是否都是开源的。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。