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

如何使用 flavorDimensions 為每種風味組合設置不同

How to set different applicationId for each flavor combination using flavorDimensions?(如何使用 flavorDimensions 為每種風味組合設置不同的 applicationId?)
本文介紹了如何使用 flavorDimensions 為每種風味組合設置不同的 applicationId?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個舊的 android 應用程序,我正在嘗試遷移到 android gradle 構建系統.該應用程序當前構建在多項目設置中,并作為四個不同的應用程序發布(包括兩個不同的數據集和兩個數據集的免費/付費版本).通過使用 flavorDimensions(以前稱為 flavorGroups),我設法擺脫了多項目設置,但我不知道如何為每種風味組合設置不同的 applicationId.

I have and old android app that I am trying to migrate to the android gradle build system. The app is currently built in a multi project setup and published as four different apps (two different data sets included and free/paid versions for both datasets). I have managed to get away from the multi project setup by using flavorDimensions (previously called flavorGroups), but I can not figure out how to set a different applicationId for each flavor combination.

由于應用程序版本已經發布,我需要保持與當前相同的應用程序 ID.由于我最初的包命名是如何完成的,我不能簡單地使用帶有packageNameSuffix"的flavor-buildtype組合(如果它是一個未發布的應用程序,這將是一個很好的選擇).

Since the app versions are already published, I need to keep the same applicationid as they currently have. Because of how my original package naming was done, I can not simply use flavor-buildtype combination with "packageNameSuffix" (which would have been a great option if it was an unpublished app).

https://stackoverflow.com/a/20956353/4177090 正在回答如何使用不同的源文件夾來調味組合,而不是如何(如果可能的話)為構建文件中的每個組合設置特定配置.

https://stackoverflow.com/a/20956353/4177090 is answering how to use different source folders for flavor combinations, but not how (if even possible) to set specific configuration for each combination in the build file.

Gradle 構建文件片段:

Gradle build file snippet:

flavorDimensions "price", "dataset"

productFlavors {
    free { flavorDimension "price" }
    paid { flavorDimension "price" }
    dataset1 { flavorDimension "dataset" }
    dataset2 { flavorDimension "dataset" }
}

我想在我的 gradle 構建文件中包含以下內容(注意我的命名是多么不合邏輯,這就是我不能使用 packageNameSuffix 的原因):

I would like to have something like the following in my gradle build file (notice how unlogic my naming is, which is why I cannot use packageNameSuffix):

freeDataset1 { applicationId "com.beansys.freeappdataset1" }
freeDataset2 { applicationId "com.beansys.freedataset2" }
paidDataset1 { applicationId "com.beansys.dataset1paid" }
paidDataset2 { applicationId "com.beansys.mypaiddataset2" }

推薦答案

我終于設法解決了這個問題.我認為解決方案很優雅(盡管實際代碼很可能由具有 groovy 知識的人編寫得更好).

I finally managed to solve this. I think the solution is elegant (although the actual code could most likely be written a lot nicer by someone with groovy knowledge).

為每種組合風味設置特定 applicationId 的解決方案:

Solution for setting a specific applicationId for each combined flavor:

flavorDimensions "price", "dataset"

productFlavors {
    free { flavorDimension "price" }
    paid { flavorDimension "price" }
    dataset1 { flavorDimension "dataset" }
    dataset2 { flavorDimension "dataset" }
}

android.variantFilter { variant ->
    def flavorString = ""
    def flavors = variant.getFlavors()
    for (int i = 0; i < flavors.size(); i++) {
        flavorString += flavors[i].name;
    }
    if(flavorString.equalsIgnoreCase("freeDataset1")) {
        variant.getDefaultConfig().applicationId "com.beansys.freeappdataset1"
    }
    if(flavorString.equalsIgnoreCase("freeDataset2")) {
        variant.getDefaultConfig().applicationId "com.beansys.freedataset2"
    }
    if(flavorString.equalsIgnoreCase("paidDataset1")) {
        variant.getDefaultConfig().applicationId "com.beansys.dataset1paid"
    }
    if(flavorString.equalsIgnoreCase("paidDataset2")) {
        variant.getDefaultConfig().applicationId "com.beansys.mypaiddataset2"
    }
}

這篇關于如何使用 flavorDimensions 為每種風味組合設置不同的 applicationId?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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 庫的傳遞依賴)
主站蜘蛛池模板: www.97国产 | 欧美成人免费在线视频 | av看片网站| 国产成人综合亚洲欧美94在线 | 国产在线播 | 国产精品自产av一区二区三区 | 91高清视频在线观看 | 日韩欧美三级在线 | 一区二区精品 | 国产精品99久久久久久动医院 | 国产精品一区视频 | 九九久久国产 | 国产精品无码专区在线观看 | 黄色在线免费观看 | 久久久久久综合 | 亚洲成人一区二区在线 | 国内精品视频在线观看 | 日日夜夜免费精品视频 | 99成人精品 | www.亚洲一区| 91免费在线视频 | 亚洲欧美激情精品一区二区 | 精品日韩一区 | 精品视频在线观看 | 亚洲喷水 | 成人网在线观看 | 国产日韩欧美精品 | 国产精品一区一区三区 | 久久久久中文字幕 | 亚洲国产91 | 在线视频亚洲 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 欧美成人免费电影 | 日韩久久久久 | 中文字幕一区二区三区四区五区 | 亚洲欧美成人在线 | 色综合天天网 | 欧美激情视频一区二区三区免费 | 亚洲欧美一区在线 | 色呦呦在线 | 亚洲欧美精品在线 |