2016-11-09 47 views
1

我試圖使用方法說明這裏嵌入原生的Android人行橫道: embed crosswalk in android studio力的Android工作室編譯外部庫的ARM64版本

是我遇到的問題是,Android的工作室是不是建設需要的庫對於ARM64,即使這些庫位於Maven存儲庫上。

這裏是我的build.gradle文件:

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機器人工作室編譯那些庫?

回答

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,以便存儲庫指向你本地maven回購:

repositories { 
    mavenLocal() 
} 

和編譯正確的lib:

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

希望它可以幫助別人作爲日後參考。

1

看一看部人行橫道AAR版https://crosswalk-project.org/documentation/android/embedding_crosswalk/crosswalk_aar.html

  • 支持不同的CPU體系結構與每個APK(如ARM,X86)。

    產品風格定義了項目構建的應用程序的定製版本。我們可以有不同的風格,爲每個架構生成apk。

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

    從清單中獲取版本代碼。在版本代碼的末尾添加一個額外的數字,隱含指定體系結構。 x86的最後一位是4,手臂2

    versionCode manifest.versionCode + 4 
    
  • 建立與搖籃您的項目,下面的命令將建立在建/ APK目錄中的相應拱APK。使用$ gradle build可同時構建arm和x86 APK。

  • OpenCV的使用這些神奇的字符串arm64:數字3和abiFilter arm64-v8a(reference)

    +0

    剛剛發現時間來測試這個解決方案,不幸的是它不工作。我仍然沒有獲得arm64版本的人行橫道。只有libnativesdk.so在lib庫中 –

    相關問題