我有一个拥有大量资产的安卓教育应用程序,所以我使用Android (.aab),并将大部分资产(图书数据)放入资产包中。下面是我通过跟踪build.gradle创建的安卓PLay资产交付文件。
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中的资产位置。
发布于 2021-01-30 17:17:09
我解决了这个问题:
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('**/*')
}
https://stackoverflow.com/questions/65271919
复制相似问题