Hon*_*ang 3 android android-gradle-plugin gradle-plugin
我有一个包含大量资源的 Android 教育应用程序,因此我使用 Android 捆绑包 (.aab) 并将资源的主要部分(书籍数据)放入资源包中。这是我按照Android PLAY Asset Delivery制作的 build.gradle 文件。
apply plugin: 'com.android.asset-pack'
assetPack {
packName = "BookAssets"
dynamicDelivery {
deliveryType = "on-demand"
}
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,除了我必须使用硬编码路径src/main/assest来托管我的资产包数据。由于该项目是跨平台的,我希望将图书数据托管在所有平台(iOS、Android、Windows、Mac)的中心位置。
对于 Android 基础 APK,我们可以轻松地在 build.gradle 中设置自定义资源路径:sourcesets.main.assets.srcDirs,但是当我尝试在资产包模块上使用它时,Android资产包插件报告错误并抱怨它找不到定义assets.srcDirs。
那么有没有办法为 Android Assets Pack 模块设置自定义资源位置呢?
更新
我当前的工作是在src/main/assets文件夹下创建一个硬符号链接,让 gradle 找到托管在其他位置的资产。它有效,但我仍然想知道是否有官方方法可以在 gradle 中为 Asset Pack 自定义资源位置。
小智 6
我能够这样解决:
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('**/*')
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |