Open the file:
CrosswalkDemo/app/build.gradle
First we need to add the Maven repository like this:
repositories { maven { url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2' } }
Then add this to your dependencies:ependencies:
compile 'org.xwalk:xwalk_core_library:21.51.546.7'Then add this to your android
productFlavors { armv7 { ndk { abiFilters "armeabi-v7a", "" } } x86 { ndk { abiFilters "x86", "" } } } }the layout
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#000000"> <org.xwalk.core.XWalkView android:id="@+id/xwalkWebView" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#000000" /> </LinearLayout>the avtivity
private XWalkView xWalkWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xWalkWebView=(XWalkView)findViewById(R.id.xwalkWebView); xWalkWebView.load("https://crosswalk-project.org", null); // turn on debugging XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true); } @Override protected void onPause() { super.onPause(); if (xWalkWebView != null) { xWalkWebView.pauseTimers(); xWalkWebView.onHide(); } } @Override protected void onResume() { super.onResume(); if (xWalkWebView != null) { xWalkWebView.resumeTimers(); xWalkWebView.onShow(); } } @Override protected void onDestroy() { super.onDestroy(); if (xWalkWebView != null) { xWalkWebView.onDestroy(); } }
Crosswalk在安卓上需要一些权限。打开这些权限,需要修改AndroidManifest.xml
文件, 在<application>
元素上面添加权限。Crosswalk WebView最少需要如下权限去取渲染页面:
您可以添加其他权限,这取决您的应用开发需求。不过,只添加应用真正需要的权限,是一种公认的安全做法。
获取地理位置信息
获取照相机,摄像机以及麦克风
写数据到SD Card
保持CPU运行状态
这里主要的不同是传到load()
方法中的参数是一个本地资源的URL,而不是一个远程的Web URL:
URL是以"file:///android_asset/"为前缀,后面添加上您需要加载的文件路径,路径名字是相对于assets/
目录。
当首页HTML网页加载之后,网页中的其他URLs将会被当做标准的Web应用来处理,同时会把assets/
目录作为应用的根目录。例如,如果在assets/
目录下您有一个page2.html
的网页,您可以用一个标准的超链接来链接到这个网页:
类似地,任何CSS或者媒体文件(音频,视频)文件都可以被添加到assets/
目录并像平常那样使用,例如:
ProGuard是一个压缩、优化和混淆Java字节码文件的免费的工具。在生成您最终的APK文件时,这些选项是可选的。如果您针对您的Java代码编写了一些Proguard配置文件,那么或许您也想要添加一些Proguard规则来压缩Crosswalk库的大小: 针对Crosswalk的Proguard规则。
对Crosswalk使用Proguard的目的是压缩其大小而不是出于反编译的考虑。注意在Crosswalk中有很多直接把类名作为字符串处理的反射代码。因此压缩和混淆主要影响的是Chromium部分。
调试运行在embedded Crosswalk Webview中的Web程序,请参照下面内容修改MainActivity.java
文件:
关键的一行是:
XWalkPreferences.setValue()
是为Crosswalk设置全局参数的;在这个例子中,您打开的是调试选项。