web-dev-qa-db-ja.com

横断歩道をAndroidスタジオに埋め込む

AndroidプログラミングとAndroidスタジオについては初めてです。プロジェクトの横断歩道埋め込みAPIを調べて、Androidスタジオ。しかし、私は成功することができませんでした。グラドルファイルを持つAPIをどのように埋め込むことができるか正確にはわかりません。

たぶん、gradleシステムに問題がありますか?簡単に言うと、Android studioを使用して、crosswalk-webviewをプロジェクトに段階的に埋め込むにはどうすればよいですか?ありがとうございます。

9
iedmrc

フォロー中: https://diego.org/2015/01/07/embedding-crosswalk-in-Android-studio/

  1. AndroidStudioを開いて、アプリフォルダーのプロジェクトビューをbuild.gradleで編集します。

    repositories {
    maven {
    url 'https://download.01.org/crosswalk/releases/crosswalk/Android/maven2'}}
    
    
    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:21.0.3'
    compile 'org.xwalk:xwalk_core_library:10.39.235.15'}
    
  2. プロジェクトを同期します。

  3. このビューをレイアウトxmlに追加します。

    <org.xwalk.core.XWalkView
    Android:id="@+id/xwalkWebView"
    Android:orientation="vertical"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:background="#000000"
    />
    
  4. 活動中または断片:

    import org.xwalk.core.XWalkPreferences;
    import org.xwalk.core.XWalkView;
    
  5. onCreateで:

    XWalkView xWalkWebView=(XWalkView)findViewById(R.id.xwalkWebView);
    xWalkWebView.clearCache(true);
    xWalkWebView.load("http://...", null);
    // turn on debugging
    XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);
    

箱から出してすぐに使えるWebViewで失敗した後、Android 4.3および4.4のXWalkViewでWebRTCを正常に使用しました。Android 5Lollipopは最大です最新のクロムと同等。

30
Rubber Duck

newプロジェクトに埋め込む、またはAndroid Studio 3でビルドするには、次の4つのファイルを変更する必要があります

これはサンプルのapp.gradleファイルです

apply plugin: 'com.Android.application'
Android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "online.saai.crosswalkandroid3"
        minSdkVersion 17
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    maven {
        url 'https://download.01.org/crosswalk/releases/crosswalk/Android/maven2/'
    }
}

configurations.all {
    resolutionStrategy {
        force 'com.Android.support:support-v4:27.1.0'
    }
}

dependencies {
    compile 'org.xwalk:xwalk_core_library:23.53.589.4'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.Android.support:appcompat-v7:26.1.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}

考慮すべきこと、

  • 最新の横断歩道を使用するには、23.53.589.4 minsdkバージョンは> = 16である必要があります。ここでは、17、つまりminSdkVersion 17を使用しました。
  • 最新の横断歩道をダウンロードするには、mavenリポジトリrepositories { ... }とコンパイル依存関係compile 'org.xwalk:xwalk_core_library:23.53.589.4'を指定する必要があります
  • バージョン28には非互換性があるため、gradleに古いAndroidサポートライブラリを使用させる必要がありますconfigurations.all { ... }

これが完了したら、.xmlファイル(activity_main.xml)を次のコンテンツに置き換えて、横断歩道ビューを使用できるようにします。

<?xml version="1.0" encoding="utf-8"?>
<org.xwalk.core.XWalkView Android:id="@+id/activity_main"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent">
</org.xwalk.core.XWalkView>

MainActivity.Java

public class MainActivity extends Activity {
  private XWalkView mXWalkView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mXWalkView = (XWalkView) findViewById(R.id.activity_main);
    mXWalkView.load("http://crosswalk-project.org/", null);
  }
}

最後に、アプリケーションがインターネットやアプリケーションで必要なその他のアクセス許可を使用できるようにし、 `AndroidManifest.xml 'にアクセスして、このアクセス許可を追加します。これがサンプルです

<manifest ... />
    <uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission Android:name="Android.permission.INTERNET" />
    <uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />
    ...
<application ... />

CrosswalkをAndroid Studioに取り込む方法に関する別のチュートリアルです。この方法を使用すると、ターゲットにするプロセッサアーキテクチャを選択できるため、APKファイルのサイズを約20MBではなく約20MBに減らすことができます。 40 mbの場合、上記の方法を使用することになります。

http://www.zhuatang.com/en/as-tips-3.jsp

チュートリアルでリソースフォルダを作成するときは、必ず次を使用してください:ファイル->新規->フォルダ->解像度フォルダ

チュートリアルの最後には、チュートリアルで説明されている方法で作成された機能プロジェクトへのGithubリンクもあります。 https://github.com/zhsoft88/TestCrosswalkEmbed2

0
lejonl

このラバーダックをありがとう-それ本当に私を助けました!

注:webRTCを実行するために横断歩道を追加する場合は、これらをマニフェストに追加する必要があります。そうしないと、発信ビデオ/オーディオが機能しません(すべてが必要なわけではないかもしれませんが、私にとっては機能します)。

<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.RECORD_AUDIO" />
<uses-permission Android:name="Android.permission.CAMERA" />
<uses-permission Android:name="Android.permission.MODIFY_AUDIO_SETTINGS" />

<uses-feature
    Android:name="Android.hardware.camera"
    Android:required="true" />
0
gts101