可以在 Android Studio 的可绘制文件夹中创建子文件夹吗? [复制]

Posted

技术标签:

【中文标题】可以在 Android Studio 的可绘制文件夹中创建子文件夹吗? [复制]【英文标题】:Possible to create subfolders in drawable folder in Android Studio? [duplicate] 【发布时间】:2014-11-06 10:35:17 【问题描述】:

是否可以在主 res 文件夹中创建子文件夹结构,尤其是在使用 Gradle 的可绘制文件夹中?

到目前为止我已经尝试过了

sourceSets 

    main 
        res.srcDirs = [
                "/src/main/res/drawable-xhdpi/actionbar_items",
                "/src/main/res/drawable-xhdpi/intro",
                "/src/main/res/drawable-xhdpi/loading_screen",
                "/src/main/res/drawable-xhdpi",
                "/src/main/res",
        ]
    

当我重建项目时,我收到类似这样的 Gradle 构建错误消息:

Error:(39, 23) No resource found that matches the given name (at 'icon' with value     '@drawable/app_icon').
Error:(40, 24) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(42, 24) No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
Error:(45, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(50, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(55, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(73, 28) No resource found that matches the given name (at 'label' with value '@string/app_name'). 

Error:Execution failed for task ':app:processDebugResources'.

com.android.ide.common.internal.LoggedErrorException:无法运行命令: /Users/adrian/adt-bundle-mac-x86_64-20140702/sdk/build-tools/android-4.4W/aapt package -f --no-crunch -I /Users/adrian/adt-bundle-mac-x86_64- 20140702/sdk/platforms/android-19/android.jar -M /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml -S /Users/adrian/Development/alstom_framework/app/ build/intermediates/res/debug -A /Users/adrian/Development/alstom_framework/app/build/intermediates/assets/debug -m -J /Users/adrian/Development/alstom_framework/app/build/generated/source/r/ debug -F /Users/adrian/Development/alstom_framework/app/build/intermediates/libs/app-debug.ap_ --debug-mode --custom-package com.hiddenltd.framework -0 apk --output-text-symbols /Users/adrian/Development/alstom_framework/app/build/intermediates/symbols/debug 错误代码: 1 输出: /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:35:错误:错误:找不到与给定名称匹配的资源(在“图标”处,值为“@drawable/app_icon” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:35:错误:错误:找不到与给定名称匹配的资源(在“标签”处,值为“@string/app_name” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:35:错误:错误:找不到与给定名称匹配的资源(在“主题”中,值为“@style/AppTheme” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:43:错误:错误:找不到与给定名称匹配的资源(在“标签”处,值为“@string/app_name” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:48:错误:错误:找不到与给定名称匹配的资源(在“标签”处,值为“@string/app_name” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:52:错误:错误:找不到与给定名称匹配的资源(在“标签”处,值为“@string/app_name” )。 /Users/adrian/Development/alstom_framework/app/build/intermediates/manifests/debug/AndroidManifest.xml:70:错误:错误:找不到与给定名称匹配的资源(在“标签”处,值为“@string/app_name” )。

这对我来说意味着 gradle 只能看到我在 app.gradle 文件中指定的 res 文件夹?因此我将其余部分添加到 app.gradle 并发生相同的错误...... 谁能帮帮忙....

【问题讨论】:

我已经看过这个问题***.com/questions/4930398/… 并且我遵循了该问题的第二个答案中提出的解决方案,其中有人经理为布局 res 文件夹创建子文件夹 【参考方案1】:

不,Android 要求所有文件都在一个目录中,并且不允许使用子文件夹。

大多数应用程序使用命名约定来代替子文件夹,因此在您的示例中,您最终可能会得到一个文件列表:

intro_welcome.png intro_background.png loading_splashscreen.png actionbar_delete.png

【讨论】:

以上是关于可以在 Android Studio 的可绘制文件夹中创建子文件夹吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何用android studio替换所有屏幕尺寸图像的可绘制图像?

是否可以在 Android 的可绘制对象中使用子文件夹? [复制]

Android Studio 不呈现 WebP 格式

使用 Android Studio 2.2 和 CMake 在 Android 中编译和使用依赖于 ABI 的可执行二进制文件

防止 Proguard 删除特定的可绘制对象

如何为我在 Android 中用作背景的可绘制对象添加圆角?