2016-11-09 8 views
1

私はこの方法を使用してネイティブのAndroid上で横断歩道を埋め込むしようとしていますここで説明: embed crosswalk in android studioフォースのAndroid Studioの外部ライブラリのARM64バージョンをコンパイルする

を私が午前問題はアンドロイドスタジオが必要なライブラリを構築していないことですそれらのライブラリがMavenリポジトリにあるとしても、ARM64用です。

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.2" 
    defaultConfig { 
     applicationId "my.app.id" 
     minSdkVersion 19 
     targetSdkVersion 24 
     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' 
    } 
    flatDir{ 
     dirs 'libs' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:design:24.2.1' 
    compile 'org.xwalk:xwalk_core_library:22.52.561.4' 
    compile (name: 'wikitudesdk', ext:'aar') 
    testCompile 'junit:junit:4.12' 
} 

これらのライブラリをコンパイルするexpicitlyアンドロイドスタジオを伝える方法があります:ここで

は私のbuild.gradleファイルのですか?

答えて

2

私は最終的にここに解決策見つけOK:基本的に diego.org

あなたはARM64ライブラリを必要とする場合は、最初に正しいライブラリを自分ダウンロードする必要があります。そして、

curl -O https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/22.52.561.4/xwalk_core_library-22.52.561.4-arm64.aar 

をローカルのMavenリポジトリにそれをインストールします:

mvn install:install-file -DgroupId=org.xwalk -DartifactId=xwalk_core_library \ 
    -Dversion=22.52.561.4-arm64 -Dpackaging=aar \ 
    -Dfile=xwalk_core_library-22.52.561.4-arm64.aar \ 
    -DgeneratePom=true 

さらに、リポジトリがローカルメイキングレポを指すようにgradleをビルドします。

repositories { 
    mavenLocal() 
} 

、あなたが正しいlibにコンパイル:

compile 'org.xwalk:xwalk_core_library:22.52.561.4-arm64' 

は、それが将来の参考として誰かに役立ちます願っています。

1

https://crosswalk-project.org/documentation/android/embedding_crosswalk/crosswalk_aar.htmlセクション横断歩道AAR版を見て:

(例えばARM、x86用として)各APKと
  • サポート異なるCPUアーキテクチャ。

    プロダクトフレーバは、プロジェクトによってカスタマイズされたアプリケーションビルドバージョンを定義します。私たちは、アーキテクチャごとにapkを生成するさまざまな味を持つことができます。

    android { 
        ... 
        productFlavors { 
        armv7 { 
         ndk { 
         abiFilters "armeabi-v7a", "" 
         } 
        } 
        x86 { 
         ndk { 
         abiFilters "x86", "" 
         } 
        } 
        } 
    } 
    

    マニフェストのバージョンコードを取得します。暗黙的にアーキテクチャを指定するバージョンコードの末尾に余分な数字を追加します。 x86の最後の桁が4で、腕は2

    versionCode manifest.versionCode + 4 
    
  • は、次のコマンドは、ビルド/ APKディレクトリ内の対応するアーチAPKを構築するのGradleを使用してプロジェクトをビルドしています。

    $ gradle assemblex86 
    $ gradle assemblearmv7 
    

    を使用すると、アームAPAPとx86 APKの両方を同時に構築できます。桁3とabiFilter arm64-v8a(reference)

  • OpenCVのは、arm64のためにこれらの魔法の文字列を使用しています。

    +0

    このソリューションをテストする時間が見つかりましたが、残念ながらうまくいきません。私はまだcrosswalkのarm64バージョンを取得していない。 libnativesdk.soのみがlibライブラリにあります –

    関連する問題