当前位置:首页 » 编程软件 » 自己编译安卓webkit

自己编译安卓webkit

发布时间: 2022-05-07 10:27:52

❶ 如何从android源码编译webkit

android本来自带了webkit浏览器,但是要对其进行custom就需要android源代码才行, 但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。
1、虽然ndk提供的库很少,而且没有skia,但是好在有bitmap,这样显示慢了点,没有硬加速,但不是不可能。
2、webkit需要的第三方库,freetype,png,jpeg,sqlite3等虽然android源码中有,但是ndk没有开放,因此所有的第三方库,freetype,png,jpeg,sqlite3,cairo,curl,fontconfig,pixman,iconv等都需要用ndk cross-compile成静态库,然后链接到最终的动态库中。
3、选择iconv是icu太大,而且没有多语言的需求,选择cairo+pixman是skia的移植性不好,而且cairo支持很多种backend。
4、编译第三方库需要用到autoconfig,ndk中有如何生成交叉编译链的文档,然后在configure时使用这个工具链就可以了,但是android用到的是bionic库,因此会有很少的地方需要修改,有些库也不能生成test程序,但是静态库是没问题的。
5、利用ndk生成的交叉工具链,在加上webkit自带的cmake编译系统,生成webkit的动态库是没有问题的,当然是webkit的内核,而且有些平台相关的部分代码需要修改。
6、但是只要是以linux平台为基础,修改还是很容易的,我移植的webkit是先移植到linux平台上,然后移植到android平台上的,所以修改相对少了很多,但是修改大多都在WebCore/platform下,在选择了的平台相关库后,做相应的配置和修改。
7、其次是在WebKit目录,这个主要是支持和使用WebCore,因此在需求不是整个浏览器,而只是正常地显示网页时,还是可以写的比较简单的。

❷ 怎么编译自己的WebKit

可以,直接下载Webkit 在编译的时候 选择编译for Qt 就行了。 但是 先提醒你,Webkit 是我见过所有的库中,最难编译的。做好心理准备。50个人编译Webkit 会有50个不同的错误。

❸ MAC OSX用Xcode编译webkit,有详细的步骤吗

1.使用Xcode软件。Xcode是一个苹果系统上的集成开发环境(IDE),就是说用Xcode就能编写c语言程序,并编译运行。也能开发ios程序等,是一种软件。在windows上类似这种能编c语言的还有微软出的visual studio,和其他免费的一些如codeblocks,c-free等。
在Xcode中编译运行C/C++的操作步骤:
1)打开Xcode,在欢迎界面点击Create a new Xcode project。
2)弹出一个对话框,在左侧栏选择Mac OS X分类的Application,右侧选择Command Line Tool,点击Next。
3)在Proct Name填写项目名称,如HelloMac,其余默认即可(type里也可以选择C或C++),点击Next后选择路径并点击Create完成项目创建。
4)在Xcode主界面左侧点击main.m,把代码替换成C/C++的代码,点击左上角的Run按钮即可编译运行,界面下方会弹出控制台显示运行结果。

❹ 关于在Windows下编译webkit内核的详细资料

webkit.org上已经有完善的资料了
http://www.webkit.org/building/build.html

❺ 请教Android内置应用Browser编译成APK的问题

在Eclipse创建一个Android工程,把android.webkit目录下的java代码拷贝过来;
将/home/roger/a41/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/webkit下面的EventLogTags.java也拷贝到自己的工程;
因为android.webkit下的类会使用SDK中非公开的API,我们需要解决编译错误:
/home/roger/a41/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
/home/roger/a41/out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
/home/roger/a41/out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar
创建一个User Library,并且勾选System Library的选项;
加入以下Jar包:
在Java Build Path/Order and Export把创建的库放在最前面;
因为在我们应用中的android.webkit包跟SDK中的重名,所以我们需要更改包名,可以改成android.webkit2;
我们需要重新编译libchromium_net.so和libwebcore.so,并且使用另外的名字,并且把其代码中使用的android/webkit/ JNI路径改成android/webkit2/保证JNI的正确性:
在/home/roger/a41/external/chromium下面,把所有源文件的android/webkit/路径改成android/webkit2/;
打开/home/roger/a41/external/chromium/Android.mk,修改库名为libchromium_net2,并且加多一行“LOCAL_MODULE_TAGS := optional“,具体内容见后;
重新编译chromium_net,得到libchromium_net2.so;
在/home/roger/a41/external/webkit/Source/WebKit/android下面,把所有源文件的android/webkit/路径改成android/webkit2/;
打开/home/roger/a41/external/webkit/Android.mk,将库名改成libwebcore2.so,并且加多一行“LOCAL_MODULE_TAGS := optional“(需要修改两个地方,静态库编译和动态库编译),另外还需要把导入库libchromium_net改成libchromium_net2,具体内容见后;
重新编译webcore,得到libwebcore2.so;
接下来我们可以把修改后的libwebcore2.so和libchromium_net2.so push到手机的rom里面,假设路径是/data/local(如果没有写权限,用Root Explorer修改);
然后我们需要修改Java的代码,让它去加载我们自己的库,修改的地方位于JniUtil.java和WebViewCore.java,具体内容见后(加载顺序需要改变,先加载libchromium_net2.so再加载libwebcore2.so);
最后加上我们自己的Test Shell的代码,运行就OK了,如果只修改了C++的代码,重编译后再Push到手机,然后重新运行Test Shell就可以马上生效,Java的代码可以在Eclipse里面很方便的调试,C++的代码理论上也可以通过GDB进行调试;

❻ 如何vs2008编译webkit

不要猜了,编译生成的右边有选项是生成发布版(Release)还是除错版(Debug),根据你的需要选择,初期默认是Debug,你可以改成Release。发布版的话生成和引用都在release目录里,除错版都在debug里

❼ 如何修改android的webkit内核

1. 找到你的toolchain对应的gdb,在模拟器上是arm-eabi-gdb,在prebuild下,把它的目录加到PATH里面
export PATH=$ANDROID_SRC/prebuilt/linux-x86/tootlchain/arm-eabi-4.4.0/bin:$PATH
或者直接加到~/.bashrc里面

2 执行配置脚本
cd$ANDROID_SRC
source build/envsetup.sh

3 启动模拟器,运行浏览器
l gdbclient app_ process :5039 browser
此时就能看到gdb顺利启动起来了(尽管有warning),此时就可以使用你熟悉的gdb命令了
看到
15 ldmdf sp! {r4,r7}
Currentlanguage: auto;current asm

4 设置断点
bFrameLoaderClientAndroid.cpp:868

5 执行
c

6 访问一个网址,就可以看到gdb断点了,enjoy it!

❽ 怎样自行开发一个Webkit内核的浏览器

首先为什么需要使用webkit或chrome浏览器内核?本人之前一直使用IE控件中的IE浏览器,对于简单的开发已经够用了,但是IE有它的诟病,特立独行,对HTML5新特性兼容性非常差,由于近期在研究HTML5以及2.5D和3D地图相关技术,所以一开始就摒弃了使用IE内核的想法。关于windows下使用chrome浏览器内核或webkit内核,已经专研了好几天,一直在碰壁,我相信也有不少网友也跟我一样,查阅了几天都没有任何进展,下面我说说这几天查阅资料遇到的问题:

(1)关于webkit或chrome相关源码都需要编译,而且编译环境相当复杂,很多时候按照文章流程走,要么走不通,要么出一连串解决不了的错误,最终心灰意冷,直到放弃(大多数搞windows开发的在编译这块都缺少相关经验,不比linux开发员);

(2)能找到人家已经编译好的webkit或chrome内核库,但是不是最新的库,很多都是2012年之前的,太老的,对于近几年HTML5的飞速发展,我想那些陈旧的库已经不再适用了。

热点内容
subplotpython 发布:2025-05-14 06:53:51 浏览:661
竖屏大屏导航工厂密码一般是多少 发布:2025-05-14 06:49:29 浏览:806
如何在手机里设置无线网密码 发布:2025-05-14 06:47:54 浏览:120
动态ip文件服务器 发布:2025-05-14 06:44:22 浏览:891
文字分行的脚本有什么 发布:2025-05-14 06:33:10 浏览:288
svn小乌龟怎么配置 发布:2025-05-14 06:31:43 浏览:393
视频播放器android 发布:2025-05-14 06:31:43 浏览:720
android工作室 发布:2025-05-14 06:26:00 浏览:658
汽车官方配置表如何下载 发布:2025-05-14 06:21:41 浏览:800
停车项目源码 发布:2025-05-14 06:20:05 浏览:358