相关疑难解决方法(0)

Groovy加载.csv文件

如何在grails上的groovy中读取和导入.csv文件.我有.csv文件包含数据,
需要使用用户界面导入到db.

csv import groovy

35
推荐指数
2
解决办法
6万
查看次数

动态生成产品风味

我已经创建了一个Android应用程序,需要构建多种(30多种)风格.

我的想法是productFlavors直接从我的src目录中的文件夹结构生成不同的,因为配置总是非常相似(基本上只是另一个packageName,一个新的启动器图标和一些字符串更改).

src文件夹是这样的:

??? src
    ??? flavor1
    ?   ??? flavor2.keystore
    ?   ??? res
    ??? flavor2
    ?   ??? res
    ?   ??? flavor2.keystore    
    ??? main
        ??? AndroidManifest.xml
        ??? java
        ??? res
Run Code Online (Sandbox Code Playgroud)

如果我必须手动创建gradle属性,它看起来会像这样:

android {

    ....

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

}
Run Code Online (Sandbox Code Playgroud)

每次我尝试productFlavors在创建后更改配置时,我都会收到错误或者无提示地忽略更改/添加.
这可能是我造成的问题,因为我的Gradle/Groovy体验非常有限,或者这是不可能的.

我大多得到错误,说GroupableProductFlavorDsl_Decorated不能按我想要的方式操纵.

我想要存档的内容应该是这样的:

android {

    ....

    def flavors = getMyFlavorsFromFileSystem()

    productFlavors {

    }

    flavors.each { name, config ->
        productFlavors[name] << config
    } …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin

16
推荐指数
2
解决办法
4462
查看次数

对具有完全相同配置的许多源集中的一些进行分组

可以说我有以下内容sourceSets:

sourceSets {
    flavor1 {
        assets.srcDirs = ['repo-assets/flavor1']
        res.srcDirs = ['repo-res/flavor1']
    }
    flavor2 {
        assets.srcDirs = ['repo-assets/flavor2']
        res.srcDirs = ['repo-res/flavor2']
    }
    flavor3 {
        assets.srcDirs = ['repo-assets/flavor1']
        res.srcDirs = ['repo-res/flavor1']
    }
    flavor4 {
        assets.srcDirs = ['repo-assets/flavor2']
        res.srcDirs = ['repo-res/flavor2']
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你注意到flavor1并且flavor3有相同的srcDirs,那么flavor2flavor4.


尝试可能性#1

我试图找出是否有办法通过使用这样的东西来避免冗余:

sourceSets {
    flavor1, flavor3 {
        assets.srcDirs = ['repo-assets/flavor1']
        res.srcDirs = ['repo-res/flavor1']
    }
    flavor2, flavor4 {
        assets.srcDirs = ['repo-assets/flavor2']
        res.srcDirs = ['repo-res/flavor2']
    }
}
Run Code Online (Sandbox Code Playgroud)

以上不起作用(已经尝试过).寻找类似的东西,这样我就可以提供一套通用sourceDirs的一套口味.有人试过做类似的事情,可以提供一些指示吗?


尝试可能性#2 …

android gradle android-studio android-productflavors android-sourcesets

5
推荐指数
1
解决办法
387
查看次数