sourceSets中的语言值用法

问题描述 投票:1回答:2

我为我的默认值enter image description here创建文件夹结构

build.gradle中的sourceSets

 sourceSets {
        main {
            res.srcDirs =
                    [
                            'src/main/res/layouts/activities',
                            'src/main/res/values/strings/counters',
                            'src/main/res/values/strings/login',
                            'src/main/res/values/strings/memories',
                            'src/main/res/values/strings/profile',
                            'src/main/res/values/strings/profile/settings',
                            'src/main/res/values/strings',
                            'src/main/res/values/strings/values-tr/aa',
                            'src/main/res/values/strings/values-tr',
                            'src/main/res/values',
                            'src/main/res/layouts',
                            'src/main/res'
                    ]
        }
    }

它适用于默认值;但是当我在values-tr中尝试相同的层次结构时,应用程序不知道values-tr中的字符串。

我怎么处理这个?

android android-gradle build.gradle source-sets
2个回答
0
投票

通常,对于res文件夹中的子文件夹,您可以根据需要命名文件夹,但这些文件夹必须将其原始名称作为子文件夹。

例如,假设我们想要制作这样的层次结构

res/layout/activities/abstractActivities/activity_main.xml

所以abstractActivities文件夹必须有名为“layout”的子文件夹(布局是来自项目开放的原始文件夹名称。)和strings / drawables / anims所有res元素相同。

这是我的项目文件夹层次结构,

enter image description here

我重新安排了每个res文件夹。但是每个文件夹都有自己的原始命名子文件夹。

动漫

-res / animation / dialog / anim / dialog_animaiton_enter.xml

用于app图标

-res / app_icon / mipmap_hdpi / ic_launcher.png

对于字符串值

-res /串/计数器/值-BS / strings_counters.xml

这是sourceSets代码

sourceSets {
        main {
            res.srcDirs =
                    [
                            //strings
                            'src/main/res/strings/counters',
                            'src/main/res/strings/memories',
                            'src/main/res/strings/profile',
                            'src/main/res/strings/profile/settings',
                            'src/main/res/strings/login',
                            'src/main/res/strings',
                            //layouts
                            'src/main/res/layouts/activities/login',
                            'src/main/res/layouts/activities',
                            'src/main/res/layouts/fragments/profile/settings',
                            'src/main/res/layouts/fragments/profile',
                            'src/main/res/layouts/fragments/counters',
                            'src/main/res/layouts/fragments/memories',
                            'src/main/res/layouts/dialogs',
                            'src/main/res/layouts/rows',
                            'src/main/res/layouts/widgets',
                            'src/main/res/layouts',
                            //anim
                            'src/main/res/animation/dialog',
                            'src/main/res/animation/heart',
                            'src/main/res/animation/layout',
                            //drawable
                            'src/main/res/visual/icons',
                            'src/main/res/visual/xml',
                            //app icon
                            'src/main/res/app_icon',
                            //main
                            'src/main/res'
                    ]
        }
    }

我没有找到任何更简单的方法来总结sourceSet =(


-1
投票

不幸的是你不能。资源编译器不正式支持资源子目录,具有限定符的子目录也是如此。

以下是跟踪问题的一些错误:https://issuetracker.google.com/issues/37009920

© www.soinside.com 2019 - 2024. All rights reserved.