我的主要动机是构建我自己的Android Webkit,以最大限度地减少不同版本的Android上webkit不同视图的渲染不一致性。Android从源代码编译webkit并在应用程序中使用它
到目前为止,我曾尝试:
- 下载的Android 2.2的源代码,并使用(做框架),使framework.jar,并用它来代替的android.jar从Android SDK中的Eclipse项目
- 将(external/webkit/WebKit/android/jni)中注册的所有本地方法的包名从android.webkit更改为我的eclipse项目(com/mycustomwebkit)的包名,然后使用(make libwebcore)创建库libwebcore.so
- 从android源代码(在external/webkit/WebKit/android中)将整个webkit java类复制到我的eclipse项目并用它来创建我自己的webview。
- 包含在日食libwebcore.so中的lib/armeabi
- 编译和创建APK文件对设备启动与以下错误
但应用程序崩溃:
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.<init>(JWebCoreJavaBridge.java:66)
04-18 10:39:23.561: E/AndroidRuntime(8214): at com.tester.webkit.BrowserFrame.<init>(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)
我是完全一个错误的方向?有没有更好的方法来最大限度地减少在不同版本的android上的webkit的不同视觉渲染不一致?
看到这个职位: http://stackoverflow.com/questions/10717257/android-ndk-custom-webview-compiling-from-source –