Android Studio 下使用crosswalk,使用maven依赖库打包

  1. 首先是新建一个AS 下的module在build.gradle文件中添加如下的申明,标示从指定仓库获取我们需要依赖的库,修改build文件后需要手动同步一下,以保证正确获取到库。

    1. //从指定的位置下载
    2. repositories {
    3. maven {
    4. url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2'
    5. }
    6. }
    7. dependencies {
    8. compile fileTree(dir: 'libs', include: ['*.jar'])
    9. compile 'com.android.support:appcompat-v7:22.1.1'
    10. //指定编译的lib,应该是12.41.296.9最新稳定版的吧
    11. compile 'org.xwalk:xwalk_core_library:12.41.296.9'
    12. }
  2. 在manifest清单中添加需要的权限,如果没有权限,在运行时就会报错

    1. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    2. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    3. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    4. <uses-permission android:name="android.permission.INTERNET" />
    5. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  3. 在Activity中使用XwalkView

    1. protected void onCreate(Bundle savedInstanceState) {
    2. super.onCreate(savedInstanceState);
    3. //可以new出来或者通过findViewById来获取XWalkView
    4. XWalkView xWalkView = new XWalkView(this,this);
    5. setContentView(xWalkView);
    6. //加载指定的地址
    7. xWalkView.load("http://www.baidu.com",null);
    8. }
  4. 运行即可跑起来了,前面设置没有错误的话应该是可以正常运行的,可以在虚拟机和真机下跑。

  5. 前面中build出来的是包含了arm和x86的,也就是这个apk包能够在这两种架构的设备上正常使用,但是体积比较大;
    如果需要build出指定架构的包,需要在buildl.gradle文件中添加如下代码,然后在build中针对不同架构生成不同的apk包即可。

    1. productFlavors {
    2. armv7 {
    3. ndk {
    4. abiFilters "armeabi-v7a", ""
    5. }
    6. }
    7. x86 {
    8. ndk {
    9. abiFilters "x86", ""
    10. }
    11. }
    12. }




原文地址:https://www.cnblogs.com/act262/p/4486771.html