如何编译最新ubuntu下编译chromiumm源码

当前访客身份:游客 [
通过技术分享,不断提高。
:有直接从googlesource那下载下来的源码,要怎么编...
:1~4步可以不执行吗,没翻墙获取不到源码
:引用来自“tony001”的评论4、代码同步:   执...
:4、代码同步:   执行glient sync --force 同步...
:膜拜一下,顺便求问编译的需求环境是什么?例如:内...
:直接在软件中心安装咯
今日访问:5
昨日访问:7
本周访问:15
本月访问:12
所有访问:2151
chromium浏览器开发系列第二篇:如何编译最新chromium源码
发表于5个月前( 08:57)&&
阅读(213)&|&评论()
0人收藏此文章,
之所以这么喜欢chrome,就是因为它开放,适合研究学习。
说一下为什么这么晚才发第二篇,上周和这周department的工作太多了,晚上都是十点半从公司出发,回家以后实在没有多余的精力去摸键盘了。所以请大家包涵!
上期回顾:
chromium源码下载:
1.找个靠谱的vpn(我试过了,网上说的不用vpn拿代码的都不靠谱);
2.获取depot_tools,解压,设置环境变量;
3.gclient获取python和git,svn,设置环境变量;
4.fetch–nohooks chromium –nosvn=true 获取源码;
5.gclientsync --force –nohooks 同步到最新
上边的python和git,也可以通过手动安装,只要环境变量设置好了就可以。
环境配置:
获取代码的最后一步是获取编译环境也就是Visual Studio 2013,上面所有的都成功以后,运行gclient runhooks就会把编译需要的vs2013的文件下载到本地,存储在depot_tools\win_toolchain\vs2013_files路径下,主要文件是编译需要的库文件。
在windows上编译chromium的官网几个说明:
1.你必须把你的windows系统区域设置为英文,否则编译时会发生错误:"The file contains a character that cannot berepresented in the current code page."这个问题在不切换语言的情况下也可以解决。请往下看。
2.因为之前的Visual Studio Express(免费版)存在一些问题,微软也在update4中做了修复,所以现在官网说明用Visual Studio 2013 Update4(Community版或者Professional版)来编译,其他的版本不支持。另外windows系统版本必须是win7 64位以后的版本,32位的已经不支持了。
另外一些说明:
选择编译的版本:
首先切换至src目录下,列出所有版本的标签,下面的命令将标签记录到tags.txt文本中:git tag &&tags.txt 2&&1
使用notepad++打开后如下,只截取了最新tag:
大家可以切换到某个tag进行编译,命令和切换到分支相同,使用如下命令:
git checkout -b chrome_43.0.2355.2_local_branch 43.0.2355.2
创建本地分支chrome_43.0.2355.2_local_branch并切换到远程43.0.2355.2tag上
通过git branch查看是否成功:
同步代码:
gclient sync --nohooks --with_branch_heads --with_tags --outpu
t-json="log.json"–jobs 16
使用--nohooks可以减少每次都检查编译环境等信息。
1)生成工程,生成可以用vs2013打开的sln,方便之后调试使用。写成批处理文件执行:
set GYP_MSVS_VERSION=2013
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library
set PATH=C:\depot_tools\python276_bin\;C:\depot_tools\;
python.exe src/build/gyp_chromiumsrc/chrome/chrome.gyp &&log.txt 2&&1
2)编译工程
set PATH=C:\depot_tools\;
ninja -C src\out\debug chrome&&log.txt 2&&1
以上两步把生成的log放在log.txt中,方便查看。
1.set GYP_GENERATORS=msvs-ninja,ninja
最新代码生成工程时,会因为msvs-ninja无法打开一些文件,应该影响不大
2.set GYP_DEFINES=branding=Chromium proprietary_codecs=1 buildtype=Dev
优化设置,可以设置
3.set DEPOT_TOOLS_WIN_TOOLCHAIN=0
设置为0是让gclient不要自动去构建环境,使用本机现有环境,可能修改的地方比较多,例如设置set GYP_DEFINES=windows_sdk_path="C:\Program Files(x86)\Windows Kits\8.0",一些json文件的路径等等。默认为0.
由于编译chromium源码对warning要求很严格,所以我列出较重要的warning的解决方法:
1.针对编码问题,和语言问题。
解决方法:最新版本已经将waring4996包含其中,但是没有4819,加上它,会解决很多麻烦。
在src\build\common.gypi文件中增加:
附上官方关于编译参数的说明:
在线查看版本号的地址:
之后我会陆续推出关于chromium的一些列文章,请大家继续关注。
如果大家对本系列文章有疑问,可以直接在公众号留言,小编第一时间联系原创作者帮你耐心解答。
技术人员都有自己的情怀,深陷其中而不被理解,欢迎关注个人微信公众平台:程序员互动联盟(coder_online),一个开发人员的家,来诉说自己的故事。
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读转自360公司的一位仁兄,链接地址:/?p=364
之前一直是用一个chromium27的代码来研究chromium的代码。自己也调用chromium content 写了一个浏览器器,最基本的功能都有。
这几天跑去http://dev.chromium.org/ 上看,chromium的代码刚好全部迁移到了git管理了。我就想获取最近的代码研究吧,毕竟chromium27快一年了,要跟上时代哈。
获取chromium代码,以及正确的编译成功不是一件容易的事。其中的坑太多了,当初我也是一路摸打滚爬中走过来的,说多了都是眼泪。我在这里总结一些,给后来人一点帮助吧。
选择开发频道
在获取chromium代码之前你先要搞清楚自己需要哪个版本的代码。chromium同时有四个发布分支,分别是:
canary频道。这一般是最前沿的实验版本,每日发布。它没有经过充分测试,可能有某些奇怪的bug。如果是为了学习基础的chromium代码,我不建议跟进这个分支。
dev频道。每2星期发布,相对稳定,新功能和新特性都有。
beta频道。每周更新,6周大版本更新。比较稳定了,比dev版小1个版本,基本是发布的候选,比stable版本早进化一个月。
stable频道。就是稳定版,比dev版本小2个版本,2到3周次版本跟新,6周主版本跟新。经过了充分的测试,我比较推荐这个版本。
这里可以看到详细的说明:http://www.chromium.org/getting-involved/dev-channel
http://dev.chromium.org/developers/how-tos/get-the-code 上已经写清楚了如何获取代码。现在统一都是用git了。
首要要配置好depot_tools。chromium会用depot_tools去获取代码。这个基本上按着文档来。因为中国的网络问题,获取chromium代码经常失败,这里强力推荐用vpn。有些公司会屏蔽vpn,比如我们公司。这里只能用IE代理了,但是chromium获取代码很多地方没有走IE代理,这里需要我们自己去hook下脚本了,我曾经写过如何设置代理的博客。这种方法太麻烦。
获取代码现在真是简单,就一句 fetch chromium,然后慢慢等吧,会下载十几GB的数据。只要把网络问题解决了,获取代码还是比较顺利的,否则就是无法跨越的大坑。
切换到工作分支
成功获取代码不一定能够成功编译通过,这一点是最郁闷的。
获取完代码一般是在master分支,这个分支一直都在更新,不稳定。我们需要切换到一个已发布的稳定版本上。我选择follow stable频道的代码,然后就是要选择一个版本。在chromium的发布日历 http://dev.chromium.org/developers/calendar 上找到最新的stable频道版本,目前是37.0.。
然后在代码仓库目录中运行git:
# 获得所有发布tag的信息。
git fetch --tags
# 根据37.0.版本建立一个你自己的分支
git checkout -b your_release_branch 37.0.
// 同步所有相关工程代码
gclient sync --with_branch_heads --jobs 16
http://dev.chromium.org/developers/how-tos/build-instructions-windows
目前最新的代码已经用vs2013编译了。好快啊,我最开始接触chromium的时候还是用的vs2008。这里可以用depot_tools里面的工具链ninja去编译代码,也可以自己安装vs2013去编译。
用vs2013去编译代码经常会编译不过。因为chromium里面包含的第三方工程太多了,很多在windows下面有库的依赖,字符编码等问题。我个人的推荐做法是用ninja去编译代码,用vs2013去浏览、编辑和调试代码,脚本如下:
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=component=shared_library
set GYP_MSVS_VERSION=2013
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
gclient runhooks
如果是编译成release版本,脚本如下:
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_DEFINES=branding=Chromium buildtype=Official
set GYP_MSVS_VERSION=2013
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
gclient runhooks
没什么好说,全凭人品。
阅读(...) 评论()end if not logged -->
现在位置 >>>
这部分讲解CEF的分支信息并介绍下载编译和打包源代码
& & & CEF项目是做为Chromium的扩展项目而存在的,CEF跟Chromium一样地维护两个版本,开发版和发布版。CEF源代码既可以手动编译,也可以用工具自动编译
& & &CEF项目在不断的发展中,你可以从这里看到整个项目的文件trunk,因为当前的版本紧跟Chromium,所以不推荐拿当前的版本来开发发布版的产品。下面的链接可以用来下载CEF的开发版源码:
& & &CEF1-&/svn/trunk/cef1
& & &CEF3-&/svn/trunk/cef3
& & &remind:你点开上面的链接时,你会发现这是一个svn工程的目录,如果以前是用VSS的,你可能觉得svn很陌生,不要尝试一个一个地去下载里面的文件。这里有个简单的方法可以下载整个文件夹:先下载一个TortoiseSVN,下完后安装,但是你不会看到有什么的TortoiseSVN的运行程序,因为它是内嵌到Windows里面的,你应该在任意的盘符下面创建一个空的文件夹,右键点击这个文件夹,点击菜单项【TortoiseSVN】-&【export】,在URL文件框里面输入上面的链接后点确定,然后现在个工程文件都会下下来。
& & &CEF随着Chromium发布版也提供一个最新的发布版,推荐用户用发布版本做为开发产品的环境,原因有如下几点:
& & &1.二进制的CEF是用特定的Chromium发布版编译出来的
& & & 2.发布版的CEF/Chromium经过了更好的测试,而且更加适合开发发布版的应用程序
& & & 3.发布版更加稳定
& & & 4.CEF发布版可以包含必要的Chromium/WebKit版本
& & & 5.CEF以后的更新不会干扰用户的发布计划
CEF版本号有如下形式:X.Y.Z,其中X是CEF主版本号,Y是发布版版本号,而Z是CEF校对号,有关CEF和Chromium版本更详细的内容,你可以去include/cef_version.h里面找到,下面的表格列出当前的CEF发布版本:
Chromium版本
CEF1支持性
CEF3支持性
你可以在下面的链接中下载发布版的CEF, 其中YYYY是发布版的版本号:
& & CEF1 -&/svn/branches/YYYY/cef1
& & CEF3 -&/svn/branches/YYYY/cef3
这里值得注意的是版本963和1025是只包含有CEF1的源代码,要想了解CEF发布版的版本号怎么来的,你可以点击旁边这个链接:&here
编译源代码:
& & 当前支持在Windows,Mac OS-X和Linux环境下编译源代码,而要想编译成功,你的电脑必须至少有4GB的系统内存(因为我用的Windows,所以在Mac或Linux环境下的要求我就没有翻译了)。
& & 在编译Chromium和CEF源码之前,你必须配置好你的编译环境:
1.为你的操作系统和开发环境安装必要的包:
& & Windows环境下点击右边的链接:&http://www.chromium.org/developers/how-tos/build-instructions-windows(这个我将在下一章中给出译文)
& & 配置好操作系统和编译环境以后,还要用旁边的链接去下载TortoiseSVN工具:&http://sourceforge.net/projects/tortoisesvn/files/1.6.16/Application/
2.配置环境可以影响GYP
& &CEF目前还不支持组件开发
& &Windows - 如果你的操作系统里面安装了多个Virual Studio,你可以设置环境变量GYP_MSVS_VERSION为一个适当的值,如果你想用VS2008来编译工作,你应该把这个值设成2008,如果你想用Vs2010 Express来编译工程,那你就应该把这个环境变量设成2010e, 如果是别的Visual Studio版本,那你就要去Chomium帮助文档去查找更详细的信息,但是估计也应该是同一个套路,假如你是vs2005,那肯定就是设成2005了。
自动的方法:
& &CEF提供工具,用来自动下载、编译、打包Chromium和CEF源代码,这个方法对开发版和发布版是同样有用,你可以按下面的步骤来完成自动操作:
1.下载自动工具 automate.py:
& &用SVN checkout下面的URL:&
/svn/trunk/cef1/tools/automate /path/to/automate
2.运行automate.py脚本:
& &在任何合适的时间,你可以运行automate.py这个脚本(如每周每天每次CEF提交的时间),并使用你想要的CEF版本。
python&/path/to/automate/automate.py&--download-dir=/path/to/download&--url=/svn/branches/1084/cef1
& & 如果这个操作成功了,一个二进制形式的包会被创建在 &/path/to/download/chromium/src/cef/binary_distrib
如果你要想查找完整的使用介绍,点下面的链接:& automate.README.txt&
& &这个方法也被完美地整合到了一些自动编译系统如 TeamCity
(译完这段我感到浑身冷汗,因为什么TeamCity、TortioseSVN...全都一无所知,想想从业也三四年了,却离it这条路越走越远,在上个公司呆的两年多完全是封闭的两年多,天天整些CAD,用写好的API,做些重复的工作,什么新的技术都没学到,反而把老本都蚀完了,现在是时候奋起直追了。但转念一想,我还能再追几年,以我的年纪我还能追几年? 学什么走哪块,才能让我虽不说蒸蒸日上但却能有口盒饭吃呢?)
& & Chromium和CEF可以手动下载和编译,但这更加复杂,所以不向所有用户推荐。
& & 下面这些下载的介绍仅适合CEF1&CEF3开发版。
& & &1.安装depot_tools并且下载Chromium源代码,你可以按照这个链接的内容来做http://dev.chromium.org/developers/how-tos/get-the-code,也可以按照下面的四个步骤来做,但是为了避免一些潜在的问题,你最好设置chromium和depot_tools的下载目录尽可能的短,并且不要包含空格和特殊字符。
& & &A. &装一个1.6.x版本的SVN端,并且加到你的PATH里面去
& & &B. 通过SVN来下载depot_tools
svn co http://src.chromium.org/svn/trunk/tools/depot_tools&& & &C. 增加depot_tools的目录到你的PATH,在Windows下depot_tools的路径应该要放在TortoiseSVN的前面
& & D. 创建一个Chromium签出目录(例如,/path/to/chromium),并且配置gclient如下:
cd&/path/to/chromium gclient config http://src.chromium.org/chrome/trunk/src&& & &remind: &上面这段你只要复制到cmd里面去运行就可以了
& & 2. 在CEF的顶层目录下查看CHROMIUM_BUILD_COMPATIBILITY.txt,并找到你需要的Chromium版本,这可能会发生改变,因为CEF是随着最新版本的Chromium改变而改变的
& &3. 更新Chromium到合适的版本
cd&/path/to/chromium gclient sync&--revision src@chromium_revision&--jobs&8&--force&& &4. 下载CEF源代码到&cef&文件夹,而且这个文件夹必须包含在Chromium的&src&文件夹目录下,你最好只下载CEF1或CEF3而不要两者都下,假设你的Chromium源代码下载在&/path/to/chromium/src&,那么你的CEF源代码就应该放在&/path/to/chromium/src/cef&。注意不管你下的是CEF1或CEF3,文件夹名都必须命名为&cef&
cd&/path/to/chromium/src svn co /svn/trunk/cef1 cef&
& & &发布版和开发版基本的操作是一样的,只不过是把有Debug的地方改成Release而已。具体的你可以查看原文链接。
& & 1.运行cef_create_project脚本(windows下用.bat, OS-X和linux下用.sh)去产生一个在GYP配置下的编译文件
cd&/path/to/chromium/src/cef&./cef_create_projects.sh
& & 2.编译CEF
& & windows下你可以直接用Visual Studio 的.sln文件编译,做为替代的方法,你也可以在命令行下运行脚本build_projects来编译整个工程,
cd&/path/to/chromium/src/cef/tools build_projects.sh&Debug&
& & &当编译好开发版和发布版后,你可以用make_distrib工具(windows用.bat,OS-X和Linux用.sh)去创建一个二进制分发包。
cd&/path/to/chromium/src/cef/tools make_distrib.sh&& & &如果这个过程成功了,一个二进制的分发包会生成在/path/to/chromium/src/cef/binary_distrib目录中。
& & &你可以去make_distrib.py脚本下看到更多的使用信息。
/demo_c435_i2195.html如何获取最新chromium源码_百度知道
如何获取最新chromium源码安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程 - 推酷
安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程
本文主要对从安卓系统源码中抽取出WebView相关源码进行单独编译的流程进行说明。
编译流程说明
由于WebView包含两个部分,一部分是上层的Java代码,包括若干Java类,用于对外提供接口;另一部分是下层的C++代码,包括两个so库(libwebcore.so和libchromium_net.so),用于网页的解析和渲染。两个部分之间通过JNI进行交互。
因此,编译WebView也需要分成两部分,一部分是编译Java代码,另一部分是将C++代码编译成so库。另外,由于WebView的Java代码中会使用到很多系统的隐藏API,所以我们还需要编译安卓系统,并从中获取几个jar包。
编译Java代码
首先,我们需要下载并编译任意一个版本的安卓系统源码,具体步骤可以参见《安卓系统源码下载及编译教程》。
完成编译后,我们可以使用Eclipse(不能使用Intellij IDEA,因为之后添加library的时候无法设置为system library)新建一个Android工程,在src目录下创建一个
android.webkit2
的包。然后将源码目录下的
frameworks/base/core/java/android/webkit
目录下的所有文件拷贝到新创建的包中。
由于其中有一个类是编译之后生成的,所以我们还需要从编译完的源码目录
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/webkit
中将EventLogTags.java类也拷贝到新建的包中。
接下来,我们需要在工程中加入包含系统隐藏API的jar包,将以下三个jar包重命名(名称随意)后拷贝到工程的libs目录下:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar
在Eclipse中打开工程的Properties-&Java Build Path-&Libraries-&Add Library-&User Library,点击下一步,选择User Libraries...,选择New,随便输入一个名字,将System library选上(重要),选择OK。选中刚刚新建的User Library,选择Add JARs,在工程目录中选择新加入的三个jar包,选择OK。
添加完Library之后,切换到Order and Export选项卡,将刚刚新建的User library调整到最前面,确保隐藏API不会被系统API覆盖(由于包名相同),选择OK。另外,还要把Android Private Libraries库前的勾取消掉,否则之后运行会报错。
最后,由于我们的java文件都放到了android.webkit2包下,避免与系统的包重名,我们需要将所有java文件中的android.webkit都替换成android.webkit2。使用菜单中的Search命令批量替换即可。完成替换后,刷新一下工程,会发现所有的错误都没了。(有可能还会提示minSdkVersion版本太低,直接按要求修改AndroidManifest.xml文件即可)
此时我们的Eclipse工程已经可以编译运行了,但是启动的时候会闪退,因为我们还没有加入so库。下面我们就来编译so库。再回到虚拟机中,进入到安卓源码的external/chromium目录下,在终端执行以下命令:
$ sudo sed -i &s#android/webkit#android/webkit2#g& `grep android/webkit -rl *`
可以将源码中的android/webkit都替换成android/webkit2,确保与我们的java代码包名相同。
再打开external/chromium目录下的Android.mk文件,将其中的libchromium_net都替换成libchromium_net2,同时增加一行LOCAL_MODULE_TAGS := optional,修改部分如下:
LOCAL_MODULE := libchromium_net2
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := optional
INTERMEDIATES := $(call local-intermediates-dir)
再回到安卓源码根目录,运行以下命令:
$ source build/envsetup.sh
$ mmm external/chromium
编译成功后可以在
out/target/product/generic/obj/lib
目录下找到libchromium_net2.so文件。
接下来进入到安卓源码的external/webkit/Source/WebKit/android目录下,在终端执行以下命令:
$ sudo sed -i &s#android/webkit#android/webkit2#g& `grep android/webkit -rl *`
同样可以将源码中的android/webkit都替换成android/webkit2,确保与我们的java代码包名相同。
再打开external/webkit目录下的Android.mk文件,将其中的libwebcore都替换成libwebcore2(三个地方),并且增加一行LOCAL_MODULE_TAGS := optional,另外还要将LOCAL_SHARED_LIBRARIES里面的libchromium_net改成libchromium_net2。修改部分如下:
# Define our module and find the intermediates directory
LOCAL_MODULE := libwebcore2
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_TAGS := optional
base_intermediates := $(call local-intermediates-dir)
LOCAL_SHARED_LIBRARIES := \
libGLESv2 \
libandroid \
libandroidfw \
libandroid_runtime \
libchromium_net2 \
libcrypto \
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := libwebcore2
LOCAL_MODULE_TAGS := optional
LOCAL_LDLIBS := $(WEBKIT_LDLIBS)
LOCAL_SHARED_LIBRARIES := $(WEBKIT_SHARED_LIBRARIES)
LOCAL_STATIC_LIBRARIES := libwebcore2 $(WEBKIT_STATIC_LIBRARIES)
LOCAL_LDFLAGS := -fvisibility=hidden
同样再回到安卓源码根目录,运行以下命令:
$ source build/envsetup.sh
$ mmm external/webkit
编译成功后可以在
out/target/product/generic/obj/lib
目录下找到libwebcore2.so文件。
完成编译并运行测试代码
下面我们将以上编译生成的两个so文件(libchromium_net2.so和libwebcore2.so)放到我们工程的
libs/armeabi
目录下。再修改工程android.webkit2包下的JniUtil.java和WebViewCore.java文件,将其中的
System.loadLibrary(&webcore&);
System.loadLibrary(&chromium_net&);
改为(注意,顺序也颠倒了)
System.loadLibrary(&chromium_net2&);
System.loadLibrary(&webcore2&);
到此为止,与WebView相关的操作都完成了,我们可以开始加入测试代码。在测试的Activity.java的onCreate方法中加入:
WebView webView = (WebView)findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(&&);
对应的xml layout中加入:
&android.webkit2.WebView
android:id=&@+id/webview&
android:layout_width=&fill_parent&
android:layout_height=&fill_parent& /&
最后在AndroidManifest.xml中加入:
&uses-permission android:name=&android.permission.INTERNET&/&
现在我们就可以在模拟器上运行工程了,运行效果如下:&
如果出现黑屏,可以尝试将最后加入的INTERNET权限去掉后重试。
只能在编译时对应版本的模拟器上运行,如果提示函数找不到,可以切换相应模拟器的版本后重试。
在模拟器上运行成功之后可以在真机上运行,效果如下:&
但是一旦用手指滑动WebView,应用就会闪退,原因是缺少一些资源,下面我们来将它们加上:
首先我们需要将安卓源码目录下的
frameworks/base/core/res/res/values/styles.xml
&style name=&ZoomControls&&
&item name=&android:gravity&&bottom&/item&
&item name=&android:paddingLeft&&15dip&/item&
&item name=&android:paddingRight&&15dip&/item&
粘贴到我们工程目录下的
res/values/styles.xml
frameworks/base/core/res/res/layout/zoom_magnify.xml
文件复制到我们工程目录下的
res/layout
frameworks/base/core/res/res/drawable/btn_zoom_page.xml
文件复制到我们工程目录下的
res/drawable
frameworks/base/core/res/res
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
btn_zoom_page_normal.png
btn_zoom_page_press.png
文件复制到我们工程目录
下的相应文件夹中。
再次运行,即可任意滑动WebView了。
如果大家觉得对自己有帮助的话,还希望能帮顶一下,谢谢:)
已发表评论数()
&&登&&&录&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见

我要回帖

更多关于 ubuntu 编译 chromium 的文章

 

随机推荐