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

buildConfigField 取決于風味 + buildType

buildConfigField depending on flavor + buildType(buildConfigField 取決于風味 + buildType)
本文介紹了buildConfigField 取決于風味 + buildType的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試根據 flavor + buildType 定義一個 buildConfigVariable.理想情況下,這就是我想要的

I'm trying to define a buildConfigVariable depending on the flavor + buildType. Ideally, this is what I want

productFlavors {
    strawberry {
        buildConfigField "String", "WS_API_KEY", name + variant.buildType.name
    }
    ... more flavors ..
}

name 確實包含草莓",但我不知道是否可以訪問 variantbuildType.

name does contain "strawberry", but I don't know if it's possible to access the variant's buildType.

放置在 Android 閉包之外我確實可以訪問 BuildTypevariant,但是我無法調用 buildConfigField

Placed outside the Android closure I do have access to the BuildType and variant, but then I can't invoke buildConfigField

android.applicationVariants.all { variant ->
    println "****************************"
    println "variant: ${variant.name}"
    println "flavor: ${variant.flavorName}"
    println "****************************"

    if (variant.buildType.name == 'release') {
        if (variant.flavorName == 'strawberry') {
            buildConfigField "String", "WS_API_KEY", '"strawberry_release"'
        } else {
            buildConfigField "String", "WS_API_KEY", '"chocolate_release"'
        }
    } else if(variant.buildType.name == 'debug') {
        if (variant.flavorName == 'strawberry') {
            buildConfigField "String", "WS_API_KEY", '"strawberry_debug"'
        } else {
            buildConfigField "String", "WS_API_KEY", '"chocolate_debug"'
        }
    }


****************************
variant: strawberryRelease
flavor: strawberry
****************************
org.gradle.api.internal.MissingMethodException: 
    Could not find method buildConfigField() 
    for arguments [String, WS_API_KEY, "strawberry_release"]

我可以輕松創建 Java 工廠并根據一些 BuildConfig 常量返回適當的 API_KEY,但我寧愿保持代碼配置不可知.

I can easily create a Java factory and return the appropriate API_KEY depending on some BuildConfig constants, but I'd rather keep the code configuration agnostic.

推薦答案

Edit2: 0.14.2 之后的版本將允許這樣做:

The version after 0.14.2 will allow doing this:

applicationVariants.all { variant ->
    variant.buildConfigField "int", "VALUE", "1"
}

所以你可以做這樣的事情(以匹配原始問題):

So you'd be able to do something like this (to match the original question):

applicationVariants.all { variant ->
    variant.buildConfigField "String", "WS_API_KEY", variant.productFlavors.get(0).name + '_' + variant.buildType.name
}

目前不可能.缺少此 API.錯誤:https://code.google.com/p/android/issues/detail?id=67416

試試這個:

applicationVariants.all { variant ->
    variant.mergedFlavor.buildConfigField "String", "NAME", '"VALUE"'
}

這篇關于buildConfigField 取決于風味 + buildType的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

相關文檔推薦

IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM(更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError)
How to get current flavor in gradle(如何在 gradle 中獲取當前風味)
How to fix quot;unexpected element lt;queriesgt; found in lt;manifestgt;quot; error?(如何修復“意外元素lt;查詢gt;在“清單中找到錯誤?)
Multi flavor app based on multi flavor library in Android Gradle(基于 Android Gradle 中多風味庫的多風味應用)
Android dependency has different version for the compile and runtime(Android 依賴在編譯和運行時有不同的版本)
Transitive dependencies for local aar library(本地 aar 庫的傳遞依賴)
主站蜘蛛池模板: 欧美伊人久久久久久久久影院 | 国产免费拔擦拔擦8x高清 | 久久神马 | 日韩一及片 | 精品一区av | 国产精品18久久久久久久 | 日韩欧美在线观看 | 国产精品一区二区三区四区 | 91在线精品视频 | 精品国产精品一区二区夜夜嗨 | 97视频人人澡人人爽 | 国产日韩免费视频 | 欧美精品一二区 | 农村黄性色生活片 | 色综合天天天天做夜夜夜夜做 | 亚洲精品一区二区三区蜜桃久 | 一区二区国产在线 | 国产一区二区中文字幕 | 久久国产精品一区二区三区 | 日韩精品视频在线播放 | 国产日产久久高清欧美一区 | 中文字幕av在线一二三区 | 99久久久无码国产精品 | 高清欧美性猛交 | 亚洲一区二区在线视频 | 久久免费视频网 | 久久伊人精品 | 成人三级在线播放 | 一区二区三区四区国产精品 | 亚洲精品小视频在线观看 | 成人在线中文字幕 | 超碰最新在线 | 日本 欧美 国产 | 久草久| 日日夜夜av | аⅴ资源新版在线天堂 | 免费av观看 | 6996成人影院网在线播放 | 日韩二三区 | 中文字幕高清av | 四虎影院在线免费观看 |