问题描述
我正在尝试构建一个音板应用程序。我有很多声音要部署,所以我决定使用Play Asset Delivery。我遵循了Google指南中的说明。
这是声音目录中的build.gradle
文件
apply plugin: 'com.android.asset-pack'
assetPack {
packName = "sounds" // Directory name for the asset pack
dynamicDelivery {
deliveryType = "[install-time]"
}
}
-
更新了我的应用程序build.gradle文件
android { . . . assetPacks = [":sounds"] }
和我的settings.gradle文件
include ':app'
include ':sounds'
- 将资产放置在sounds / src / main / assets
当我尝试构建捆绑包时,我不断收到此错误
成绩错误:
这是声音文件夹中的清单
有错误的清单:
我尝试清理项目,使缓存无效并重新启动,但似乎无济于事。
解决方法
花费了几个小时后,我成功地构建了捆绑软件。
只需从资产文件夹的build.gradle文件中删除括号
deliveryType = "install-time"
这是Google的Play资产投放示例代码
// In the asset pack’s build.gradle file:
apply plugin: 'com.android.asset-pack'
assetPack {
packName = "asset-pack-name" // Directory name for the asset pack
dynamicDelivery {
deliveryType = "[ install-time | fast-follow | on-demand ]"
}
}
我认为 deliveryType =“ [install-time]” 是正确的语法。将资产包清单与动态功能清单进行比较后,我意识到gradle会产生错误的dist属性。
这就是我用方括号写deliveryType的结果
<dist:[install-time]/>
这是动态功能清单中的正确语法
<dist:on-demand />
卸下括号就可以了。希望对别人有帮助。