如何在我自己的 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种方法来包含人行横道。
方法一:
在我的库项目应用中添加Crosswalk Webview库gradle
错误:(编译错误)
解析失败:org.xwalk:xwalk_core_library:18.48.477.13
方法二:
在我的库项目中添加crosswalk aar文件
添加aar文件参考link
我已经从
https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/
错误:(编译错误)
解析失败:MyLIBApplication:xwalk_core_library_java:unspecified
方法三:
在我的库项目中添加crosswalk jar文件
下载Link
https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/
错误:此方法没有编译错误,但它给出了 运行 时间错误
java.lang.NoClassDefFoundError: org.xwalk.core.R$string
注意:两个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);
我正在开发 Android 库模块,该模块必须包含 Crosswalk Webview。我使用 Github Sonatype (https://github.com/sonatype/) 创建库。它在没有 Crosswalk Webview 的情况下工作正常。我尝试了以下3种方法来包含人行横道。
方法一:
在我的库项目应用中添加Crosswalk Webview库gradle
错误:(编译错误)
解析失败:org.xwalk:xwalk_core_library:18.48.477.13
方法二:
在我的库项目中添加crosswalk aar文件
添加aar文件参考link
我已经从 https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/
错误:(编译错误)
解析失败:MyLIBApplication:xwalk_core_library_java:unspecified
方法三:
在我的库项目中添加crosswalk jar文件
下载Link https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/
错误:此方法没有编译错误,但它给出了 运行 时间错误 java.lang.NoClassDefFoundError: org.xwalk.core.R$string
注意:两个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);