You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gradle插件中获取配置的assets文件夹路径

获取Android Gradle插件中配置后的Assets文件夹路径

在新版Android Gradle插件(AGP)中,旧的SourceSets API已被废弃,取而代之的是基于构建变体的公共API。要获取所有配置后的assets文件夹路径,按以下步骤操作:

  1. 获取Android扩展组件
    首先从Project对象中拿到ApplicationExtension(如果是库插件则用LibraryExtension),这是AGP的核心配置入口:

    import com.android.build.api.dsl.ApplicationExtension
    
    def androidExtension = project.extensions.getByType(ApplicationExtension)
    
  2. 遍历构建变体
    每个变体(如debug、release或自定义变体)可能有独立的assets配置,因此需要遍历所有变体:

    androidExtension.applicationVariants.all { variant ->
        // 处理当前变体的assets路径
    }
    
  3. 获取变体的Assets源目录
    通过变体的sources属性获取assets的源集合,再提取所有配置的目录路径:

    def assetSources = variant.sources.assets.get()
    Set<File> assetDirs = assetSources.srcDirs
    
    // 遍历输出所有assets路径
    assetDirs.each { dir ->
        println "Assets directory: ${dir.absolutePath}"
    }
    

关键说明

  • 这种方式能自动捕获所有配置的assets路径,包括默认的src/main/assets,以及用户在build.gradle中自定义的路径(比如src/main/custom-assets),甚至是针对特定变体的配置。
  • 全程使用AGP的公共API,避免依赖内部属性,保证插件在AGP新版本中的兼容性。

内容的提问来源于stack exchange,提问作者Lactose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:52:07