久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Gradle android 為不同的處理器架構(gòu)構(gòu)建

Gradle android build for different processor architectures(Gradle android 為不同的處理器架構(gòu)構(gòu)建)
本文介紹了Gradle android 為不同的處理器架構(gòu)構(gòu)建的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我想使用 Gradle 為 4 個(gè)不同的 Android CPU 處理器架構(gòu)(armeabi armeabi-v7a x86 mips)構(gòu)建 4 個(gè)單獨(dú)的 apk.

I want to build 4 separate apks for 4 different Android CPU processor architectures (armeabi armeabi-v7a x86 mips) using Gradle.

我在 libs 文件夾中有為 4 個(gè) CPU 架構(gòu)構(gòu)建的原生 OpenCV 庫(kù).

I have native OpenCV libraries built for 4 CPU architectures in the libs folder.

libs
    -armeabi
    -armeabi-v7a
    -x86
    -mips

我希望每個(gè) apk 只包含對(duì)應(yīng)正確 CPU 架構(gòu)的 OpenCV 庫(kù).

I want to each apk only contains the OpenCV library corresponding to the correct CPU architecture.

當(dāng)前構(gòu)建腳本如下:

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':workspace:OpenCV4Android:sdk:java')
}

android {
    compileSdkVersion 11
    buildToolsVersion "18.1.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')

        flavorGroups "abi", "version"
        productFlavors {
            x86 {
                flavorGroup "abi"
            }
            arm {
                flavorGroup "abi"
            }
            mips {
                flavorGroup "abi"
            }
        }

    }
}

有人可以幫我解決這個(gè)問(wèn)題嗎?

Can someone help me to resolve this please?

干杯,

推薦答案

從 Android Gradle 插件版本 13 開(kāi)始,您現(xiàn)在可以使用新的拆分"機(jī)制生成單獨(dú)的 APK.你可以閱讀它這里.

As of Android Gradle Plugin version 13 you can now generate seperate APK's using the new "split" mechanism. You can read about it here.

放置 .so 文件的默認(rèn)文件結(jié)構(gòu)是:

The default file structure for placing your .so files is:

src
-main
  -jniLibs
    -armeabi
      -arm.so
    -armeabi-v7a
      -armv7.so
    -x86
      -x86.so
    -mips
      -mips.so

請(qǐng)注意,.so 文件的名稱并不重要,只要它具有 .so 擴(kuò)展名.

Note that the name of the .so file is unimportant as long as it has the .so extension.

然后在你的 Gradle 構(gòu)建文件中:

Then in your Gradle build file:

android {
...
splits {
abi {
  enable true
  reset()
  include 'x86', 'armeabi-v7a', 'mips', 'armeabi'
  universalApk false
  }
 }
}

// map for the version code
ext.versionCodes = ['armeabi-v7a':1, mips:2, x86:3]

import com.android.build.OutputFile

android.applicationVariants.all { variant ->
    // assign different version code for each output
    variant.outputs.each { output ->
        output.versionCodeOverride =
            project.ext.versionCodes.get(output.getFilter(OutputFile.ABI)) * 1000000 + android.defaultConfig.versionCode
    }
}

請(qǐng)注意,上面 ext.versionCodes 中的版本代碼在很大程度上是無(wú)關(guān)緊要的,這是為每個(gè) ABI 類型添加唯一的偏移量,因此版本代碼不會(huì)沖突.

Note that the version codes above in ext.versionCodes are largely irrelevant, this is here to add a unique offset for each ABI type so version codes do not clash.

這篇關(guān)于Gradle android 為不同的處理器架構(gòu)構(gòu)建的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM(更新到 Android Build Tools 25.1.6 GCM/FCM 后出現(xiàn) IncompatibleClassChangeError)
How to get current flavor in gradle(如何在 gradle 中獲取當(dāng)前風(fēng)味)
How to fix quot;unexpected element lt;queriesgt; found in lt;manifestgt;quot; error?(如何修復(fù)“意外元素lt;查詢gt;在“清單中找到錯(cuò)誤?)
Multi flavor app based on multi flavor library in Android Gradle(基于 Android Gradle 中多風(fēng)味庫(kù)的多風(fēng)味應(yīng)用)
Android dependency has different version for the compile and runtime(Android 依賴在編譯和運(yùn)行時(shí)有不同的版本)
Transitive dependencies for local aar library(本地 aar 庫(kù)的傳遞依賴)
主站蜘蛛池模板: 一区欧美 | 久久99国产精品久久99果冻传媒 | 欧美亚洲国产一区二区三区 | 孕妇一级毛片 | 一级一级毛片免费看 | 免费日韩网站 | 国产精品一区二 | 亚洲精品黄色 | 亚洲欧美自拍偷拍视频 | 久久精品综合 | 欧美性猛交 | 97人人澡人人爽91综合色 | 天天色影视综合 | 欧美黑人国产人伦爽爽爽 | 久久亚洲一区二区 | 中文字幕日韩欧美一区二区三区 | 国外成人在线视频 | 日韩视频精品 | 午夜性视频 | 久久久久久久99 | 黄色精品视频网站 | 国产在线1 | 7799精品视频天天看 | 久久久91精品国产一区二区三区 | 视频一区二区三区在线观看 | 青青草中文字幕 | 另类视频区 | 欧美成人免费电影 | 国产精品一区二区电影 | 欧美日韩一卡 | 99综合 | a久久 | 丁香婷婷综合激情五月色 | av在线免费观看网站 | 欧美a∨ | 日本久久久久久久久 | 日本五月婷婷 | 第四色影音先锋 | 综合久久99| 一区二区三区视频在线观看 | 欧美寡妇偷汉性猛交 |