久久久久久久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 庫的傳遞依賴)
主站蜘蛛池模板: 日韩中文字幕一区 | 国产精品成人品 | 国产一区中文字幕 | 国产精品18hdxxxⅹ在线 | 国产一级片| 日本欧美国产在线观看 | 久久成人国产 | 91国自视频 | 日韩视频精品在线 | 午夜精品久久久久久久久久久久久 | 日韩毛片免费视频 | 在线亚洲一区二区 | 精品av| 欧美日韩高清在线一区 | 国产999精品久久久久久 | 久综合| 欧美性猛交一区二区三区精品 | 九九成人 | 91精品久久久久 | 国产精品久久二区 | 国产免费一区二区 | 欧美1—12sexvideos | 亚洲精品免费在线 | 天天爽天天干 | 久久国产精品免费视频 | 在线伊人 | 日日操夜夜操天天操 | 国产精品久久久久久久久久 | 国产精品地址 | 九九热久久免费视频 | 国产伦精品一区二区三毛 | 狠狠操操| 天天干夜夜操 | 精品一区二区三区在线视频 | 国产精品一区视频 | 欧美在线免费 | 亚洲一区二区中文字幕 | 成人在线播放 | 亚洲在线免费观看 | 中文字幕在线一区二区三区 | 日本一区高清 |