如何在我自己的 android 库模块中添加人行横道 webview?

How to add crosswalk webview in my own android library module?

我正在开发 Android 库模块,该模块必须包含 Crosswalk Webview。我使用 Github Sonatype (https://github.com/sonatype/) 创建库。它在没有 Crosswalk Webview 的情况下工作正常。我尝试了以下3种方法来包含人行横道。

方法一:

方法二:

方法三:

注意:两个jar(普通,共享模式)文件我都试过了

我创建了一个从webview到XWalkView的新应用来渲染three.js stl loader演示,webview无论WebGlRenderer还是CanvasRenderer都不支持。 下面是crosswalk模块的使用流程:

步骤1:File->新建->导入模块

步骤 2 select 模块并根据需要重命名

第三步全选

这里android工作室可能会要求更新,更新吧

第四步处理模块依赖

在此之后,Gradle 自动构建 运行 到这里我们已经完成了人行横道的输入。

第五步使用XWalkView

将此权限添加到 AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

为AndroidManifest.xml

的应用程序节点添加硬件加速
android:hardwareAccelerated="true"

将其添加到布局文件

<org.xwalk.core.XWalkView 
 android:id="@+id/xWalkView"
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
</org.xwalk.core.XWalkView>

将此添加到 activity

XWalkView mXWalkView = (XWalkView) findViewById(R.id.xWalkView);
mXWalkView.load("http://192.168.1.42/test", null);

到此结束 这是我使用 webview 和 XWalkView 渲染的结果 three.js STL loader.

网页视图不支持

XWalkView支持很好

哈哈有效。


下面是另一个老实现,也可以参考这个不错[post]或者doc11.

这里是 source code.

下载正确的 Crosswalk Android webview 包并从 https://crosswalk-project.org/documentation/downloads.html

解包

将xwalk_core_library_java.jar从crosswalk libs复制到app/libs/在android studio项目中,然后点击文件,select "Adds As Library"

将crosswalk libs下的其他内容复制到app/src/main/jniLibs/

创建一个Android资源目录res2,并将crosswalk res目录中的文件复制到此目录。

将此添加到 AndroidMenifest.xml

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


and add android:hardwareAccelerated="true" to application node.to use hardware acceleration which is needed by crosswalk webview

将此添加到布局

<org.xwalk.core.XWalkView android:id="@+id/webview"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    </org.xwalk.core.XWalkView>

将此添加到 Activity

XWalkView mXWalkView = (XWalkView) findViewById(R.id.webview);
    mXWalkView.load("http://xxxxxx.com", null);

如果你想调试 romote 添加这个。

XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);