我会尽力帮助您翻译这段内容。这篇文章讲述了如何将一个使用three.js的stl loader演示从webview移植到XWalkView中运行。因为无论是WebGlRenderer还是CanvasRenderer,在webview中都不支持该演示。
以下是使用crosswalk模块的步骤:
第一步:选择“文件”->“新建”->“导入模块”。
步骤2:选择模块并根据需要重命名。保留HTML,不解释。
步骤3:选择所有选项。
这里 Android Studio 可能会要求您更新,更新它。
步骤4:处理模块依赖关系。
接下来,Gradle自动运行构建。我们已经完成了Crosswalk的导入。
步骤5 使用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>
将此添加到活动中。
XWalkView mXWalkView = (XWalkView) findViewById(R.id.xWalkView);
mXWalkView.load("http://192.168.1.42/test", null);
在这里我们完成了使用webview和XWalkView来渲染three.js STL加载器的结果。
webview不支持。
XWalkView 很好地支持了
哈哈,它起作用了。
以下是另一种旧的实现方式,您也可以参考这篇好的[文章]或
文档11。
这里是
源代码。
从
https://crosswalk-project.org/documentation/downloads.html下载适当的Crosswalk Android Webview包并将其解压缩。
将xwalk_core_library_java.jar从Crosswalk libs复制到Android Studio项目的app/libs/中,并在文件上单击右键,选择“添加为库”。
将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)
如果您想远程调试,请添加此内容。
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true)
crosswalk-webview-18.48.477.13-arm
压缩文件,其中包含完整的 AS 模块。它包含一个 jar 文件、一些资源和一堆 .so 本地库,这些库是 CPU 依赖的(因此,如果你将其集成到你的库中,你将被困在只有 ARM 或 x86 二进制文件的境地,否则你将不得不为每个架构创建一个版本的库。简而言之:不要这样做,通过 gradle 导入。 - Mister Smith