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

如何在 gradle 中獲取當(dāng)前風(fēng)味

How to get current flavor in gradle(如何在 gradle 中獲取當(dāng)前風(fēng)味)
本文介紹了如何在 gradle 中獲取當(dāng)前風(fēng)味的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我的應(yīng)用有兩種產(chǎn)品風(fēng)格:

I have two product flavors for my app:

productFlavors {
    europe {
        buildConfigField("Boolean", "BEACON_ENABLED", "false")
    }

    usa {
        buildConfigField("Boolean", "BEACON_ENABLED", "true")
    }
}

現(xiàn)在我想在任務(wù)中獲取當(dāng)前風(fēng)味名稱(我在 Android Studio 中選擇的名稱)以更改路徑:

Now I want to get the current flavor name (which one I selected in Android Studio) inside a task to change the path:

task copyJar(type: Copy) {
    from('build/intermediates/bundles/' + FLAVOR_NAME + '/release/')
}

如何在 Gradle 中獲取 FLAVOR_NAME?

How can I obtain FLAVOR_NAME in Gradle?

謝謝

推薦答案

如何獲取當(dāng)前風(fēng)味名稱

我開發(fā)了以下函數(shù),準(zhǔn)確返回當(dāng)前風(fēng)味名稱:

def getCurrentFlavor() {
    Gradle gradle = getGradle()
    String  tskReqStr = gradle.getStartParameter().getTaskRequests().toString()

    Pattern pattern

    if( tskReqStr.contains( "assemble" ) )
        pattern = Pattern.compile("assemble(\w+)(Release|Debug)")
    else
        pattern = Pattern.compile("generate(\w+)(Release|Debug)")

    Matcher matcher = pattern.matcher( tskReqStr )

    if( matcher.find() )
        return matcher.group(1).toLowerCase()
    else
    {
        println "NO MATCH FOUND"
        return ""
    }
}

你也需要

import java.util.regex.Matcher
import java.util.regex.Pattern

在開頭或您的腳本中.在 Android Studio 中,這通過使用Make Project"或Debug App"按鈕進(jìn)行編譯來工作.

at the beginning or your script. In Android Studio this works by compiling with "Make Project" or "Debug App" button.

def getCurrentVariant() {
    Gradle gradle = getGradle()
    String tskReqStr = gradle.getStartParameter().getTaskRequests().toString()

    Pattern pattern

    if (tskReqStr.contains("assemble"))
        pattern = Pattern.compile("assemble(\w+)(Release|Debug)")
    else
        pattern = Pattern.compile("generate(\w+)(Release|Debug)")

    Matcher matcher = pattern.matcher(tskReqStr)

    if (matcher.find()){
        return matcher.group(2).toLowerCase()
    }else{
        println "NO MATCH FOUND"
        return ""
    }
}

如何獲取當(dāng)前風(fēng)味 applicationId

類似的問題可能是:如何獲取 applicationId?同樣在這種情況下,沒有直接的方法來獲取當(dāng)前的風(fēng)味 applicationId.然后我使用上面定義的getCurrentFlavor函數(shù)開發(fā)了一個(gè)gradle函數(shù),如下:

How to get current flavor applicationId

A similar question could be: how to get the applicationId? Also in this case, there is no direct way to get the current flavor applicationId. Then I have developed a gradle function using the above defined getCurrentFlavor function as follows:

def getCurrentApplicationId() {
    def currFlavor = getCurrentFlavor()

    def outStr = ''
    android.productFlavors.all{ flavor ->

        if( flavor.name==currFlavor )
            outStr=flavor.applicationId
    }

    return outStr
}

瞧.

這篇關(guān)于如何在 gradle 中獲取當(dāng)前風(fēng)味的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(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 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)味庫的多風(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 庫的傳遞依賴)
Why I#39;m Getting Duplicate Class When Running My Android Project(為什么我在運(yùn)行我的 Android 項(xiàng)目時(shí)得到重復(fù)的類)
主站蜘蛛池模板: 91精品国产综合久久久密闭 | 91精品国产91久久久久久最新 | 日本超碰 | 国产视频不卡一区 | cao在线 | 欧美午夜在线 | h视频在线观看免费 | 天堂色网 | 一级毛片中国 | 久久久www | 久久成人国产 | 国产成人精品免费视频大全最热 | 久久99视频这里只有精品 | 亚洲黄色网址视频 | 久久99国产精一区二区三区 | 一区二区三区在线播放 | 色婷婷一区二区三区四区 | 激情五月婷婷在线 | 精品在线免费观看视频 | 国产又色又爽又黄又免费 | 成人午夜影院 | 欧美激情一区二区三区 | 免费成人高清在线视频 | 久久精品网| 97色伦网| 九一在线观看 | 成人免费黄色 | 欧美一区二区在线播放 | 精品国产一二三区 | 放个毛片看看 | 极品销魂美女一区二区 | 在线不卡av | 国产综合久久 | 亚洲69p | 一二三区在线 | 久久91精品国产一区二区 | 亚洲高清视频在线观看 | 91精品国产乱码久久久久久久久 | 91精品久久久久久久久中文字幕 | 在线色网| 亚洲高清视频一区二区 |