如何在我自己的android库模块中添加人行横道webview?
我正在开发一个Android库模块,它必须包含Crosswalk Webview。 我使用Github Sonatype( https://github.com/sonatype/ )创build库。 它工作正常,没有Crosswalk Webview。 我尝试了以下3种方法来包含Crosswalk。
方法1:
-
在我的图书馆项目应用程序gradle中添加Crosswalk Webview库
-
错误:(编译错误)
-
无法解决:org.xwalk:xwalk_core_library:18.48.477.13
方法2:
-
在我的图书馆项目中添加crosswalk aar文件
-
添加aar文件的参考链接如何将.aar文件导入到Android Studio 1.1.0中,并在我的代码中使用它
-
我从https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/下载了Crosswalk Webview
-
错误:(编译错误)
-
无法解决:MyLIBApplication:xwalk_core_library_java:未指定
方法3:
-
在我的图书馆项目中添加人行横道的jar文件
-
下载链接https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/
-
错误:这种方法没有编译错误,但它给运行时错误是java.lang.NoClassDefFoundError:org.xwalk.core.R $ string
注意:我尝试了jar(普通,共享模式)文件
我从webview创build一个新的应用程序到XWalkView呈现three.js stl加载器演示,这是webview无论WebGlRenderer或CanvasRenderer不支持。 以下是如何使用人行横道模块的过程:
第1步:文件 – >新build – >导入模块
第2步select模块,并根据需要重命名
第3步select所有选项
这里android工作室可能会要求你更新,更新它
步骤4处理模块依赖关系
在这之后,Gradle Build自动运行在这里我们已经完成了人行横道inport。
第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支持很好
哈哈它的作品。
Follow是另一个旧的实现,你也可以参考这个好的[post]或doc 11 。
这里是源代码 。
下载适当的Crosswalk Android webview软件包,并从https://crosswalk-project.org/documentation/downloads.html解压缩它;
将xwalk_core_library_java.jar从crosswalk libs复制到android studio项目中的app / libs /中,然后点击该文件,select“Adds As Library”
将crosswalk库中的其他内容复制到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>
添加到活动
XWalkView mXWalkView = (XWalkView) findViewById(R.id.webview); mXWalkView.load("http://xxxxxx.com", null);
如果你想debuggingromote添加这个。
XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);