我建立自己的Android webkit的主要动机是尽量减少不同版本的android上webkit的不同视角的渲染不一致。
到目前为止,我已经尝试过:
但应用程序在设备上启动时崩溃,并出现以下错误:
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的不同视觉的渲染不一致性?
答案 0 :(得分:2)
到目前为止,我已经尝试过:下载android 2.2的源代码并使用(make framework)制作framework.jar并用它在eclipse项目中用android SDK替换android.jar
那不行。首先,设备上存在的类将取代应用中的相同类。其次,WebKit没有用Java实现。
我完全走错了方向吗?
是
有没有更好的方法来最小化不同版本的android上webkit的不同视觉的渲染不一致性?
不要使用能够“在不同版本的android上呈现webkit不同视角的不一致”的东西。
或者,使用具有兼容性层的框架,无论您正在尝试做什么,在那里他们完成了解决“在不同版本的android上呈现webkit的不同视觉的不一致性”的工作。