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

動態生成產品風味

Dynamically generating product flavors(動態生成產品風味)
本文介紹了動態生成產品風味的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我創建了一個需要以多種 (30 多種) 風格構建的 Android 應用.

I've created an Android App which needs to be build in many (30+) flavors.

我的想法是直接從我的 src 目錄中的文件夾結構生成不同的 productFlavors,因為配置總是非常相似(基本上只是另一個 packageName,一個新的啟動器圖標和一些字符串更改).

My idea was to generate the different productFlavors directly from the folder structure in my src directory, since the configuration is always very similar (basically just another packageName, a new launcher icon and some strings change).

src 文件夾如下所示:

└── src
    ├── flavor1
    │?? ├── flavor2.keystore
    │?? ├── res
    ├── flavor2
    │?? ├── res
    │?? ├── flavor2.keystore    
    └── main
     ?? ├── AndroidManifest.xml
     ?? ├── java
     ?? └── res

如果我必須手動創建 gradle 屬性,它會看起來像這樣:

If I had to create the gradle properties by hand it would look somehow like this:

android {

    ....

    productFlavors {
        flavor1 {
            packageName 'com.example.flavor1'
        }
        flavor2 {
            packageName 'com.example.flavor2'
        }
    }

}

每次我嘗試在創建后更改 productFlavors 配置時都??會收到錯誤消息,或者更改/添加會被忽略.
這可能是我造成的問題,因為我的 Gradle/Groovy 經驗非常有限,或者這是不可能的.

Everytime I try to change the productFlavors configuration after its creation I get either an error or the changes / additions are ignored silently.
This could a be problem caused by me, because my Gradle / Groovy experience is very limited, or this isn't possible.

我經常遇到錯誤,說 GroupableProductFlavorDsl_Decorated 無法按照我想要的方式進行操作.

I mostly get error, saying that GroupableProductFlavorDsl_Decorated could not be manipulated the way I want.

我要歸檔的內容應該如下所示:

What I'm trying to archive should somehow look like this:

android {

    ....

    def flavors = getMyFlavorsFromFileSystem()

    productFlavors {

    }

    flavors.each { name, config ->
        productFlavors[name] << config
    }

}

注意:我知道這個問題基本上是重復a> 的一個較老的問題,遺憾的是從未得到回答.由于 Gradle 對 Android 世界來說是一種新事物,我希望自上次提出問題以來得到更多答案,因為現在越來越多的開發人員正在使用 Gradle.

Note: I know this question is basically an duplicate of an older question, which sadly was never answered. Since Gradle is kind of new to the Android world, I'm hoping to get more answers as since the last time the question was asked, because more developers are using Gradle now.

更新:

我嘗試了一些非常簡單的方法:

Here some very simple approaches I tried:

變體 1:

android {

    productFlavors {

    }

    productFlavors['flavor1'] << {
        packageName "com.example.flavor1"
    }

    productFlavors['flavor2'] << {
        packageName "com.example.flavor2"
    }
}

/*

A problem occurred evaluating root project 'MyProject'.
> GroupableProductFlavorDsl with name 'flavor1' not found.

*/

變體 2:

android {

    productFlavors {

    }

    productFlavors['flavor1'] = {
        packageName "com.example.flavor1"
    }

    productFlavors['flavor2'] = {
        packageName "com.example.flavor2"
    }
}

/*

no error, but does not work

*/

變體 3:

android {

    productFlavors {

    }

    productFlavors['flavor1'] = [packageName: "com.example.flavor1"]

    productFlavors['flavor2'] = [packageName: "com.example.flavor2"]
}

/*

no error, but does not work

*/

所有這些都是要點.

推薦答案

通過反復試驗解決:

android {

    // let's assume these are return by a function which reads the filesystem
    def myFlavors = [
        flavor1: [
            packageName: "com.example.flavor1"
        ],
        flavor2: [
            packageName: "com.example.flavor2"
        ]
    ]

    productFlavors {
        myFlavors.each { name, config ->
            "$name" {
                packageName config.packageName
            }
        }
    }

}

這篇關于動態生成產品風味的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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 庫的傳遞依賴)
主站蜘蛛池模板: 成人免费在线 | 福利精品| 精品一区二区三区在线观看 | 亚洲第一视频网 | 国产一卡二卡三卡 | 欧美成人黄色小说 | 夜夜爽99久久国产综合精品女不卡 | 国内自拍真实伦在线观看 | 国产三级日本三级 | 一区二区三区精品在线 | 啪啪综合网 | 亚洲精品一级 | 伊人伊人伊人 | 国产精品久久久久久久久久免费 | 国产黄色大片在线免费观看 | 中文字幕第十五页 | 亚洲国产精品区 | 羞羞网站在线观看 | 欧美一级欧美一级在线播放 | 狠狠的日 | 欧美日韩精品中文字幕 | 国产视频不卡一区 | 水蜜桃亚洲一二三四在线 | av中文字幕在线 | 欧美精品99 | 欧美午夜在线 | 黄色一级大片在线观看 | 成人免费视频网站在线看 | 精品免费在线 | 日韩在线电影 | 国产一区日韩在线 | 欧美日韩精品中文字幕 | 欧美黑人一区二区三区 | 久久久久久久久久久久久九 | 亚洲区一区二区 | 亚洲协和影视 | 日韩国产高清在线观看 | 视频精品一区 | 在线91| 中文字幕在线二区 | 超碰在线97国产 |