zoukankan      html  css  js  c++  java
  • crosswalk 初步使用

    这里简单的说下 crossWalk 的配置;
    我在学习 crosswalk 的时候,看到一篇博客,他所记录的已经是很完整的教程了: 点击查看 本文就根据该博客和官网说明,进行部分修改,补充;

    首先 crosswalk 的 minsdk 是14,如果兼容需要14一下的,那么就没法了;

    1. 基础引入:
      和普通的一样;
      1.1 在 /build.gradle 里的 allprojects/repositories 添加
      allprojects {
      repositories {
          google()
          jcenter()
          maven {
              url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
          }
      }
      

    }
    1.2 在 app/build.gradle 里的 dependencies 添加:
    compile 'org.xwalk:xwalk_core_library:23.53.589.4'
    ```
    最后面的数字呢,代表着版本号,不同的版本,支持度也不一样,比如最前面的数字,如果是20以上,那么 minsdk 也是需要16以上的;
    而且最重要的是,不同的版本,对应的 API 也会不同;不过官网有 API 的文档可以查阅:
    点击查看
    版本号一览: 点击查看

    1. 注意的地方:
      这里的话是和引用的那篇博客差不多的,不过需要修改的一点是,最基础的权限只需要3个,如果还需要其他的,再进行添加;

      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
      
    2. 替换 webview:

      <org.xwalk.core.XWalkView android:id="@+id/activity_main"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
      </org.xwalk.core.XWalkView>
      
    3. 错误点:
      4.1 如果你 compileSdkVersion 是26,并且在 build 时报

    java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)Landroid/graphics/Typeface; in class Landroid/support/v4/content/res/ResourcesCompat; or its super classes (declaration of 'android.support.v4.content.res.ResourcesCompat' appears in /data/app/com.example.apple.yuncai-1/split_lib_dependencies_apk.apk)
    

    该错误, 解决方法是使用27版本,
    直接将 app/build.gradle 里的26改为27,dependencies里改为一下即可:
    implementation 'com.android.support:appcompat-v7:27.0.2'
    4.2 build 时报错

    Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
    > com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
    

    clean project即可

    1. 其他很多地方都是和 webview 类似的,我在上一篇博客里(点击查看)已经说得比较详细了;
      关于调用照相机和相册也已完全兼容;
      并且,同样的,我也创建了一个新的仓库用来放置,如果有需要可以前往查看 点击查看

    完;

  • 相关阅读:
    the selected directory is not a TomEE home
    java 获取当前年份 月份,当月第一天和最后一天
    java jwt工具类,生成和解析token
    Thymeleaf嵌套循环,每次循环显示固定数量
    oracle 非正常关机 错误1033解决办法
    webService简单记录
    好用的json工具
    org.apache.ws.commons.schema.XmlSchemaForm.getValue()Ljava/lang/String;
    webservice获取ip地址
    JSP(一)
  • 原文地址:https://www.cnblogs.com/Grewer/p/8462284.html
Copyright © 2011-2022 走看看