GithubHelp home page GithubHelp logo

tamicer / jswebview Goto Github PK

View Code? Open in Web Editor NEW
174.0 7.0 49.0 135 KB

基于JsBridge封装的高效自带加载进度条的WebView

License: Apache License 2.0

Java 83.72% HTML 8.16% JavaScript 8.12%
jsbridge-webview js native

jswebview's Introduction

JsWebView

Android基于JsBridge封装的高效带加载进度的WebView 可用作简单应用内置浏览器,帮你快速开发Hybrid APP

主要功能:

  • 支持header
  • 支持进度
  • 支持自定义错误页面
  • 支持h5和native的快速交互,简单易学
  • 支持cookie同步

#UI

#Dependencies

Gradle:

root:

  repositories {
maven { url "https://jitpack.io" }
jcenter()
  }

Module:

   dependencies {
   .....
   compile 'com.tamic:browse:1.0.0'

   }

Function

   XMl

 <com.tamic.jswebview.view.ProgressBarWebView
    android:id="@+id/login_progress_webview"
    style="@style/NumberProgressBar_Default"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

 </com.tamic.jswebview.view.ProgressBarWebView>

初始化

    ProgressBarWebView  mProgressBarWebView = (ProgressBarWebView) findViewById(R.id.login_progress_webview);

设置WebViewClient

      mProgressBarWebView.setWebViewClient(new CustomWebViewClient(mProgressBarWebView.getWebView()) {
        @Override
        public String onPageError(String url) {
            //指定网络加载失败时的错误页面
            return "file:///android_asset/error.html";
        }

        @Override
        public Map<String, String> onPageHeaders(String url) {

            // 可以加入header

            return null;
        }

        
    });

    // 打开页面,也可以支持网络url
    mProgressBarWebView.loadUrl("file:///android_asset/demo.html");

回调js的方法

    // 添加hander方法名 
    mHandlers.add("login");
   // 订阅此方法key
    mProgressBarWebView.registerHandlers(mHandlers, new JsHandler() {
        @Override
        public void OnHandler(String handlerName, String responseData, CallBackFunction function) {

                String resquestData = "this native data"
                
                 // 返回数据给js
                function.onCallBack(resquestData);
           
        }
    });

调用js

    mProgressBarWebView.callHandler("callNative", "hello H5, 我是java", new JavaCallHandler() {
        @Override
        public void OnHandler(String handlerName, String jsResponseData) {
            Toast.makeText(MainActivity.this, "h5返回的数据:" + jsResponseData, Toast.LENGTH_SHORT).show();
        }
    });

发送消息给js

    mProgressBarWebView.send("hello world!", new CallBackFunction() {
        @Override
        public void onCallBack(String data) {
        
        // data 为js回传数据

            Toast.makeText(MainActivity.this, data, Toast.LENGTH_SHORT).show();

        }
    });

作者:Tamic & Yezhengnan.

介绍:http://www.jianshu.com/p/17054c21dd78

 >http://blog.csdn.net/sk719887916/article/details/52402470

jswebview's People

Contributors

tamicer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jswebview's Issues

文件上传

鸡年大吉吧。请教下楼主,通过jsbridge方式能在CallBackFunction里面回传给js几百k的文件流吗,会不会出现文件太大等问题因为我看这个是通过url实现的。另外,除了openFileChooser(ValueCallback uploadMsg),还有其他的文件上传webview的方式吗。我这边不想点一个上传按钮再上传,想直接通过一个接口上传,不知道有没有这样的方式啊。。

华为 7.0 手机使用

程序会崩溃,
10-30 11:35:12.322 1188-2546/? E/HsmCoreServiceImpl: onTransact in code is: 103
10-30 11:35:12.349 1029-1029/com.tamic.simplebrowse E/webviewchromiumloader: Failed to open relro file /data/misc/shared_relro/libwebviewchromium64.relro: No such file or directory
10-30 11:35:12.359 1029-1029/com.tamic.simplebrowse E/cr_LibraryLoader: Unable to load library: webviewchromium
10-30 11:35:12.360 1029-1029/com.tamic.simplebrowse E/WebViewFactory: error instantiating provider
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198)
at android.webkit.WebView.getFactory(WebView.java:2325)
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320)
at android.webkit.WebView.setOverScrollMode(WebView.java:2379)
at android.view.View.(View.java:4020)
at android.view.View.(View.java:4137)
at android.view.ViewGroup.(ViewGroup.java:578)
at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
at android.webkit.WebView.(WebView.java:627)
at android.webkit.WebView.(WebView.java:572)
at android.webkit.WebView.(WebView.java:555)
at android.webkit.WebView.(WebView.java:542)
at android.webkit.WebView.(WebView.java:532)
at com.tamic.jswebview.browse.BridgeWebView.(BridgeWebView.java:50)
at com.tamic.jswebview.view.ProgressBarWebView.init(ProgressBarWebView.java:72)
at com.tamic.jswebview.view.ProgressBarWebView.(ProgressBarWebView.java:46)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:656)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.tamic.simplebrowse.MainActivity.onCreate(MainActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6910)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: java.lang.RuntimeException: Cannot load WebView
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:75)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:31)
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198) 
at android.webkit.WebView.getFactory(WebView.java:2325) 
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320) 
at android.webkit.WebView.setOverScrollMode(WebView.java:2379) 
at android.view.View.(View.java:4020) 
at android.view.View.(View.java:4137) 
at android.view.ViewGroup.(ViewGroup.java:578) 
at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55) 
at android.webkit.WebView.(WebView.java:627) 
at android.webkit.WebView.(WebView.java:572) 
at android.webkit.WebView.(WebView.java:555) 
at android.webkit.WebView.(WebView.java:542) 
at android.webkit.WebView.(WebView.java:532) 
at com.tamic.jswebview.browse.BridgeWebView.(BridgeWebView.java:50) 
at com.tamic.jswebview.view.ProgressBarWebView.init(ProgressBarWebView.java:72) 
at com.tamic.jswebview.view.ProgressBarWebView.(ProgressBarWebView.java:46) 
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.view.LayoutInflater.createView(LayoutInflater.java:656) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:377) 
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at com.tamic.simplebrowse.MainActivity.onCreate(MainActivity.java:34) 
at android.app.Activity.performCreate(Activity.java:6910) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6523) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 
Caused by: org.chromium.base.library_loader.ProcessInitException
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:71)
at org.chromium.base.library_loader.LibraryLoader.loadNowOverrideApplicationContext(LibraryLoader.java:25)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:69)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:31) 
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198) 
at android.webkit.WebView.getFactory(WebView.java:2325) 
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320) 
at android.webkit.WebView.setOverScrollMode(WebView.java:2379) 
at android.view.View.(View.java:4020) 
at android.view.View.(View.java:4137) 
at android.view.ViewGroup.(ViewGroup.java:578) 
at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55) 
at android.webkit.WebView.(WebView.java:627) 
at android.webkit.WebView.(WebView.java:572) 
at android.webkit.WebView.(WebView.java:555) 
at android.webkit.WebView.(WebView.java:542) 
at android.webkit.WebView.(WebView.java:532) 
at com.tamic.jswebview.browse.BridgeWebView.(BridgeWebView.java:50) 
at com.tamic.jswebview.view.ProgressBarWebView.init(ProgressBarWebView.java:72) 
at com.tamic.jswebview.view.ProgressBarWebView.(ProgressBarWebView.java:46) 
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.view.LayoutInflater.createView(LayoutInflater.java:656) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:377) 
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at com.tamic.simplebrowse.MainActivity.onCreate(MainActivity.java:34) 
at android.app.Activity.performCreate(Activity.java:6910) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6523) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit
at java.lang.Runtime.loadLibrary0(Runtime.java:994)
at java.lang.System.loadLibrary(System.java:1533)
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:55)
at org.chromium.base.library_loader.LibraryLoader.loadNowOverrideApplicationContext(LibraryLoader.java:25) 
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:69) 
at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:31) 
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198) 
at android.webkit.WebView.getFactory(WebView.java:2325) 
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320) 
at android.webkit.WebView.setOverScrollMode(WebView.java:2379) 
at android.view.View.(View.java:4020) 
at android.view.View.(View.java:4137) 
at android.view.ViewGroup.(ViewGroup.java:578) 
at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55) 
at android.webkit.WebView.(WebView.java:627) 
at android.webkit.WebView.(WebView.java:572) 
at android.webkit.WebView.(WebView.java:555) 
at android.webkit.WebView.(WebView.java:542) 
at android.webkit.WebView.(WebView.java:532) 
at com.tamic.jswebview.browse.BridgeWebView.(BridgeWebView.java:50) 
at com.tamic.jswebview.view.ProgressBarWebView.init(ProgressBarWebView.java:72) 
at com.tamic.jswebview.view.ProgressBarWebView.(ProgressBarWebView.java:46) 
at java.lang.reflect.Constructor.newInstance0(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
at android.view.LayoutInflater.createView(LayoutInflater.java:656) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:377) 
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at com.tamic.simplebrowse.MainActivity.onCreate(MainActivity.java:34) 
at android.app.Activity.performCreate(Activity.java:6910) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567) 
at android.os.Handler.dispatchMessage(Handler.java:105) 
at android.os.Looper.loop(Looper.java:156) 
at android.app.ActivityThread.main(ActivityThread.java:6523) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) 

                                                                  --------- beginning of crash

10-30 11:35:12.361 1029-1029/com.tamic.simplebrowse E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tamic.simplebrowse, PID: 1029
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tamic.simplebrowse/com.tamic.simplebrowse.MainActivity}: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.tamic.jswebview.view.ProgressBarWebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2793)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class com.tamic.jswebview.view.ProgressBarWebView
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class com.tamic.jswebview.view.ProgressBarWebView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:656)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:798)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:869)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:832)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.tamic.simplebrowse.MainActivity.onCreate(MainActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6910)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2746)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2864)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1567)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
Caused by: android.util.AndroidRuntimeException: java.lang.reflect.InvocationTargetException
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:204)
at android.webkit.WebView.getFactory(WebView.java:2325)
at android.webkit.WebView.ensureProviderCreated(WebView.java:2320)
at android.webkit.WebView.setOverScrollMode(WebView.java:2379)
at android.view.View.(View.java:4020)
at android.view.View.(View.java:4137)
at android.view.ViewGroup.(ViewGroup.java:578)
at android.widget.AbsoluteLayout.(AbsoluteLayout.java:55)
at android.webkit.WebView.(WebView.java:627)
at android.webkit.WebView.(WebView.java:572)
at android.webkit.WebView.(WebView.java:555)
at android.webkit.WebView.(WebView.java:542)
at android.webkit.WebView.(WebView.java:532)
at com.tamic.jswebview.browse.BridgeWebView.(BridgeWebView.java:50)
10-30 11:35:12.361 1029-1029/com.tamic.simplebrowse E/AndroidRuntime: at com.tamic.jswebview.view.ProgressBarWebView.init(ProgressBarWebView.java:72)
at com.tamic.jswebview.view.ProgressBarWebView.(ProgressBarWebView.java:46)
... 25 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.webkit.WebViewFactory.getProvider(WebViewFactory.java:198)
... 40 more
Caused by: java.lang.RuntimeException: Cannot load WebView
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:75)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.(WebViewChromiumFactoryProvider.java:31)
... 43 more
Caused by: org.chromium.base.library_loader.ProcessInitException
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:71)
at org.chromium.base.library_loader.LibraryLoader.loadNowOverrideApplicationContext(LibraryLoader.java:25)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.initialize(WebViewChromiumFactoryProvider.java:69)
... 44 more
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.google.android.webview-2/lib/arm/libwebviewchromium.so" is 32-bit instead of 64-bit
at java.lang.Runtime.loadLibrary0(Runtime.java:994)
at java.lang.System.loadLibrary(System.java:1533)
at org.chromium.base.library_loader.LibraryLoader.loadAlreadyLocked(LibraryLoader.java:55)
... 46 more

Can't work in Fragment

when work in Fragment, some errors:
03-23 12:18:56.315 32415-32415/com.test.webtest E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.test.webtest, PID: 32415
java.lang.IllegalArgumentException: Wrong state class, expecting View State but received class android.os.Bundle instead. This usually happens when two views of different type have the same id in the same hierarchy. This view's id is id/discover_progress_webview. Make sure other views do not use the same id.
at android.view.View.onRestoreInstanceState(View.java:14881)
at android.view.View.dispatchRestoreInstanceState(View.java:14856)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3127)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3135)
at android.view.View.restoreHierarchyState(View.java:14834)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:475)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1329)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:752)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710)
at android.os.Handler.handleCallback(Handler.java:743)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5546)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)

Js 注入失效

activity webview 界面输入键盘不弹出
js注入 加additionalHttpHeaders 注入效果失效

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.