![](/img/trans.png)
[英]Android Studio: Execution failed for task ':app:transformClassesWithDexBuilderForDebug'
[英]Play Asset Delivery Android resource linking failed - Execution failed for task :app:linkDebugManifestForAssetPacks
我正在尝试构建一个音板应用程序。 我有很多声音要部署,所以我决定使用 Play Asset Delivery。 我按照谷歌指南中的说明进行操作。
我在顶层创建了一个资产包文件夹并将其命名为 sound。 这就是我的项目的样子
项目结构:
这是sounds目录中的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'
当我尝试构建捆绑包时,我不断收到此错误
Gradle 错误:
这是声音文件夹中的清单
有错误的清单:
我尝试清理项目,使缓存无效并重新启动,但似乎没有任何效果。
在花了这么多小时后,我成功地构建了捆绑包。
只需从资产文件夹的 build.gradle 文件中删除括号
deliveryType = "install-time"
这是 Google 的 Play Asset Delivery 示例代码
// 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 />
删除括号就可以了。 希望它可以帮助某人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.