久久久久久久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 庫的傳遞依賴)
主站蜘蛛池模板: 黑人操亚洲女人 | 久久精品亚洲 | 久久久久网 | 亚洲人成免费 | 亚洲美女一区 | 欧美精品网站 | 毛片在线视频 | 国产美女精品 | 国产精品一区在线 | 日韩有码在线视频 | 亚洲午夜一区 | 精品国产乱码久久久久久蜜柚 | 国产精品免费一区二区三区 | 国产视频一区在线播放 | 久久久久国产视频 | 国产精品一区二区三区不卡 | 午夜激情在线观看 | 亚洲激情综合网 | 三级黄色片网站 | 欧美日韩中文在线 | 成人免费毛片嘿嘿连载视频 | 在线欧美 | 久久精品一区二区 | 日韩精品网 | 亚洲成在线 | 亚洲激情第一页 | 特黄aaaaaaaaa真人毛片 | 日韩精品一区二区视频 | 欧美三级大片 | xxxxx国产| 日韩免费高清 | 国产精品91在线 | av片在线看 | 国产一级二级 | av黄色大片 | 91精品国产色综合久久不卡98 | 亚洲黄视频| 97国产在线视频 | 中文字幕在线免费观看 | 国产免费成人 | 黄色三级网|