Как добавить веб-просмотр crosswalk в моем собственном модуле библиотеки Android?

Я занимаюсь разработкой модуля библиотеки Android, который должен включать Crosswalk Webview. Я создаю библиотеку с помощью Github Sonatype ( https://github.com/sonatype/ ). Он отлично работает без Crosswalk Webview. Я попробовал следующие 3 метода включить Crosswalk.

Способ 1:

Способ 2:

  • Добавить файл awar crosswalk в моем проекте библиотеки

  • Ссылка для добавления файла aar Как импортировать файл .aar в Android Studio 1.1.0 и использовать его в моем коде

  • Я загрузил Crosswalk Webview с https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/

  • Ошибка: (Ошибка компиляции)

  • Не удалось разрешить: MyLIBApplication: xwalk_core_library_java: неуказано

Способ 3:

  • Добавить файл javascript в моем библиотечном проекте

  • Загрузить ссылку https://download.01.org/crosswalk/releases/crosswalk/android/stable/18.48.477.13/

  • Ошибка: этот метод не содержит ошибки компиляции, но дает ошибку времени выполнения, которая была java.lang.NoClassDefFoundError: org.xwalk.core.R $ string

Примечание. Я пробовал файлы как jar (обычный, общий режим)

Я создаю новое приложение из webview для XWalkView, чтобы отобразить демоверсию tr.js stl loader, которая не поддерживается веб-просмотром независимо от WebGlRenderer или CanvasRenderer. Ниже приведен процесс использования модуля кроссворда:

Шаг 1: Файл-> Новый-> Модуль импорта

Файл-> Новый-> Модуль импорта

Шаг 2 выберите модуль и переименуйте, если вам нужно

Выберите модуль и переименуйте, если вам нужно

Шаг 3 выберите все опции

Выберите все опции

Здесь студия Android может попросить вас обновить, обновить ее

Введите описание изображения здесь

Шаг 4 обрабатывает зависимость модуля

Обрабатывать зависимость модуля Введите описание изображения здесь Введите описание изображения здесь

После этого, Gradle Build Running автоматически Здесь мы закончили переход в пешеходный переход.

Шаг 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 для рендеринга tr.js STL-загрузчика.

Webview не поддерживает

Webview не поддерживает

XWalkView хорошо поддерживает

XWalkView хорошо поддерживает

Ха-ха, это работает.


Следуйте за другой старой реализацией, и вы также можете обратиться к этому хорошему [post] или doc 11 .

Вот исходный код .

Загрузите надлежащий пакет веб-просмотра Crosswalk Android и распакуйте его с https://crosswalk-project.org/documentation/downloads.html.

Скопируйте xwalk_core_library_java.jar из crosswalk libs в приложение / libs / в проект студии android и напишите клик по файлу, выберите «Добавить как библиотеку»,

Скопируйте другое содержимое в папку crosswalk для приложения / src / main / jniLibs /

Создайте резервную копию ресурса для Android 2 и скопируйте файлы в crosswalk res dir в этот каталог.

Добавьте это в 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); 

Если вы хотите отладить romote, добавьте это.

 XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);