我的主要動機是構建我自己的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 –