web-dev-qa-db-ja.com

自分のAndroidライブラリモジュールに横断歩道のウェブビューを追加するにはどうすればよいですか?

Androidライブラリモジュールを開発中です。これにはCrosswalkWebviewを含める必要があります。GithubSonatypeを使用してライブラリを作成します( https://github.com/sonatype/ =)。CrosswalkWebviewがなくても問題なく動作します。Crosswalkを含めるために次の3つの方法を試しました。

方法1:

  • ライブラリプロジェクトアプリのgradleにCrosswalkWebviewライブラリを追加します

  • エラー:(コンパイルエラー)

  • 解決に失敗しました:org.xwalk:xwalk_core_library:18.48.477.13

方法2:

方法3:

注:両方のjar(通常の共有モード)ファイルを試しました

12
RDY

WebビューからXWalkViewに新しいアプリを作成して、three.js stlローダーデモをレンダリングします。これは、WebGlRendererまたはCanvasRendererに関係なくWebビューでサポートされていません。横断歩道モジュールの使用方法は次のとおりです。

ステップ1:ファイル->新規->モジュールのインポート

File->New->Import Module

ステップ2モジュールを選択し、必要に応じて名前を変更します

select the module and rename if you need

ステップ3すべてのオプションを選択します

choose all the option

ここAndroid studioは更新を要求する場合があります、更新してください

enter image description here

ステップ4モジュールの依存関係を処理する

process the module dependencyenter image description hereenter image description here

この後、Gradleビルドが自動的に実行されますここで横断歩道のインポートが完了しました。

ステップ5XWalkViewを使用する

この特権を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.jsSTLローダーをレンダリングした結果が完成しました。

webviewはサポートしていません

webview not support

XWalkViewはよくサポートします

XWalkView supports well

ハハそれは動作します。


フォローは別の古い実装であり、この良い[投稿]または doc11 を参照することもできます。

これが ソースコード です。

適切なCrosswalk Android webviewパッケージをダウンロードし、 https://crosswalk-project.org/documentation/downloads.html から解凍します。

Xwalk_core_library_Java.jarをcrosswalklibsからAndroid studioプロジェクトのapp/libs /にコピーし、ファイルをクリックして、[ライブラリとして追加]を選択します。

横断歩道ライブラリの下にある他のコンテンツをapp/src/main/jniLibs /にコピーします

Android Resource dir res2を作成し、crosswalk resdir内のファイルをこの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);
8
Kris Roofe