首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在gradle中为(而不是Android模块)设置自定义资产位置?

如何在gradle中为(而不是Android模块)设置自定义资产位置?
EN

Stack Overflow用户
提问于 2020-12-13 02:50:53
回答 1查看 1.4K关注 0票数 3

我有一个拥有大量资产的安卓教育应用程序,所以我使用Android (.aab),并将大部分资产(图书数据)放入资产包中。下面是我通过跟踪build.gradle创建的安卓PLay资产交付文件。

代码语言:javascript
运行
复制
apply plugin: 'com.android.asset-pack'
assetPack {
    packName = "BookAssets"
    dynamicDelivery {
        deliveryType = "on-demand"
    }
}

它工作得很好,除了,我必须使用硬编码路径来承载我的资产包数据。因为这个项目是跨平台的,所以我想把图书数据放在一个中心位置,供所有平台(iOS,Android,Windows,mac)使用。

对于基于Android的build.gradle,我们可以通过sourcesets.main.assets.srcDirs轻松地设置自定义资产路径,但是当我尝试在一个共享包模块上使用它时,Android资产包插件报告错误,并抱怨它找不到定义assets.srcDirs

那么,有没有办法为Android资产包模块设置自定义资产位置呢?

更新

我目前的工作是在src/main/assets文件夹下创建一个硬符号链接,让gradle找到托管在其他位置的资产。它可以工作,但我仍然想知道是否有一种官方的方法来自定义资产在gradle中的资产位置。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-30 17:17:09

我解决了这个问题:

代码语言:javascript
运行
复制
apply plugin: 'com.android.asset-pack'

assetPack 
{
    packName = "InstallPack" // Directory name for the asset pack
    dynamicDelivery 
    {
        deliveryType = "install-time"
    }
}

project.afterEvaluate 
{
    generateAssetPackManifest.dependsOn copyFiles
}

task copyFiles(type: Sync)

copyFiles 
{
    description = 'sync assets'
    from [path_to_assets]
    into './src/main/assets'
    include('**/*')
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65271919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档