How to port WebKit to Symbian

Source: Internet
Author: User

It is said that WebKit will run on the mobile phone of Symbian in the past few weeks. I thought it was not a difficult task. It took about three weeks to complete the task, however, we finally succeeded in running on the real machine. I'm glad to say that the process is correct.

The first is Google. (recently, Google has been frequently attacked by the Wall and is very depressed.) It must be faster to run on Symbian or start with s60webkit, it would take me a year to transplant it from the WebKit trunk. After selecting the direction, we started to pull the code. Everyone said that the version 21772 is relatively stable, so let's start from this version.

For the compilation process, refer to the following blogs:

Chinese Version

Http://blog.csdn.net/mikefather/archive/2010/05/10/5574183.aspx

English version

Http://wiki.forum.nokia.com/index.php/Building_S60Webkit

If you follow the changes mentioned in these articles, use build. BAT can compile both the simulator and the real machine version, but the simulator can run but cannot run on the real machine. From the first "unable to install components already fixed in the mobile phone system" error to "not granted the required program Access Permissions", it took many days.

"Unable to install components already fixed in the mobile phone system" this is because of reindeer. pagescaler_sdk.dll toolbar in PKG. DLL recenturlstore. DLL XMLEngine. DLL components have been fixed in the mobile phone and cannot be updated and need to be commented out

"The required program access permission is not granted". This error should be caused by various EXE files in the installation package, and the corresponding capabilities should be set for the DLL. If no correct settings are set, the installation will be affected.

After modifying these problems, I finally installed the program and pressed the reindeer icon, But it flashed a bit, no response, tangled

Hosts file

Http://dev.firnow.com/course/3_program/jdkf/20071129/89115.html

The error code is: Kern exec 3. This error is so common that there is no information. You can use the TRK real machine for debugging. The same error only indicates that the error cannot be started.

I searched again and found a strong post. Of course, after successful verification, I found that he was a strong post.

Http://discussion.forum.nokia.com/forum/showthread.php? 2017899-s60webkit-missed-widgetenginebridge.h/page3

For more information, see the reply from mgroeber9110 on the 39 th floor. He did not start with version 21772, but started with s60webkit Trunk's last revision 25205, I think there will always be more bugs to solve in the new Code Point. Better off, let's start to try it as he is hungry. He provides a patch file and fixes the file to be modified as soon as it is run. Then build-G and generate each database smoothly, which only involves some small modifications. Package and run on the machine. The result can be run.

After the build-G was successful, I also sought to compile and generate it directly using ide. In the previous two weeks of tangle, I have learned the Perl syntax to build. bat has a general understanding. The main function is to extract the ZIP file in s60internals to the EPOC directory, and then compile the one-by-one MMP 5. We decompress the ZIP file manually, and then use Carbide to import bld. inf to start building. The problems are summarized as follows:

After checkout's latest s60webkit is used as the token (r25205 from 23-aug-2007)
Use patchfile s60webkit_20100520.zip to update a full set of engineering http://discussion.forum.nokia.com/forum/attachment.php?

Attachmentid = 1060 & D = 1274997811
Build a project step
1. After import bld. inf
2. Modify the file # include ".../s60internals/s60.hrh"
Add macro _ browser_sdk
# DEFINE _ browser_sdk
# DEFINE _ scalable_icons add these 2 macro to some CPP in 3 rdmr
3. Modify include/gcce. h # include <symbian_ OS _v9.1.hrh>
4. Build PCRE. Lib. This is the basis for many workers.
5. Modify icons. mk browsercore. MMP to solve the problem of icon and BMP file layout.
6. Add # include <featureinfo. h> to some CPP

In addition, the prompt is always prompted when compiling the Lib library.

Process_begin: CreateProcess (null), Cr...,...) failed.
Make (E = 2): The system cannot find the file specified.

Later, we found that the command for packaging was not found. It should be in epoc32/tools/compilation_config/gcce. mk
Under AR = arm-None-symbianelf-AR, add archiver = $ (AR) because the archiver variable is used in the script.

Finally, we can compile and debug the s60webkit in carbide. It's better than running build. bat. I feel that I have learned a series of knowledge over the past few weeks, including Perl, TRK real machine debugging, and Symbian engineering organization.

Currently, the 3rd, 3rd_mr, and V5 versions are successfully compiled and run successfully on e66, e71, and n97. However, there are still some problems, such as the direct collapse of WML pages. Click events cannot be captured on n97. The road is long. I want to continue...

 

 

This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/NULLCN/archive/2010/09/02/5859145.aspx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.