Android compile webkit from source and use it in an application
<p>My main motivation of building my own Android webkit to minimise the rendering inconsistency of different vision of webkit on different version of android.</p>

<p>So far I have tried:</p>

<ul>
<li>downloaded the source code of android 2.2 and use (make framework) to make framework.jar and use it to replace android.jar from android SDK in a eclipse project</li>
<li>changed the package name of all native methods registered in (external/webkit/WebKit/android/jni) from android.webkit to the package name of my eclipse project (com/mycustomwebkit) and then use (make libwebcore) to create the library libwebcore.so</li>
<li>copied the entire webkit java class from android source(in external/webkit/WebKit/android) to my eclipse project and use it to create my own webview.</li>
<li>included libwebcore.so in lib/armeabi in eclipse</li>
<li>compiled and created apk file</li>
</ul>

<p>but application crashes on launch on device with the following errors:</p>

<pre><code>04-18 10:39:23.561: W/dalvikvm(8214): No implementation found for native Lcom/tester/webkit/JWebCoreJavaBridge;.nativeConstructor 

()V
04-18 10:39:23.561: W/dalvikvm(8214): threadid=14: thread exiting with uncaught exception (group=0x2b4d61f8)
04-18 10:39:23.561: E/AndroidRuntime(8214): FATAL EXCEPTION: WebViewCoreThread
04-18 10:39:23.561: E/AndroidRuntime(8214): java.lang.UnsatisfiedLinkError: nativeConstructor
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.JWebCoreJavaBridge.nativeConstructor(Native Method)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.JWebCoreJavaBridge.&lt;init&gt;(JWebCoreJavaBridge.java:66)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.BrowserFrame.&lt;init&gt;(BrowserFrame.java:237)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.WebViewCore.initialize(WebViewCore.java:236)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.WebViewCore.access$1(WebViewCore.java:230)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.WebViewCore$WebCoreThread$1.handleMessage

(WebViewCore.java:705)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at android.os.Looper.loop(Looper.java:137)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at com.tester.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:748)
04-18 10:39:23.561: E/AndroidRuntime(8214):     at java.lang.Thread.run(Thread.java:856)
</code></pre>

<p>Am I completely in a wrong direction ? and is there a better way to minimise the rendering inconsistency of different vision of webkit on different version of android ?</p>
