【发布时间】:2021-10-03 14:34:07
【问题描述】:
我在尝试在 Azure DevOps 中创建 Android CI/CD 时遇到了严重问题。结果管道尝试使用最新版本的 BuildTools 来构建 apk,但最新版本 (31.0.0) 似乎有问题。
我想强制 Azure 使用我已经测试过的版本 30.0.3 运行良好。
使用 BuildTools 31.0.0 的 Azure 日志
使用 BuildTools 31.0.0 的本地日志
使用 BuildTools 30.0.0 的本地日志
我正在使用 Ionic 和 cordova 来生成我的 Android 项目,尽管 cordova docs 说它支持 cli 参数来强制构建工具版本。
例如:ionic cordova run android -- --gradleArg=-P cdvBuildToolsVersion=30
它仍然以始终使用安装在 cordovaLib 模块中的最新版本的方式生成
build.gradle [应用模块]
// The value for android.buildToolsVersion.
if (!project.hasProperty('cdvBuildToolsVersion')) {
cdvBuildToolsVersion = null;
}
...
compileSdkVersion cdvCompileSdkVersion
buildToolsVersion cdvBuildToolsVersion
build.gradle [cordovaLib 模块]
cdvCompileSdkVersion = privateHelpers.getProjectTarget()
cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools()
...
compileSdkVersion cdvCompileSdkVersion
buildToolsVersion cdvBuildToolsVersion
【问题讨论】:
-
您能出示您的
build.gradle文件吗?你有定义30.0.3的版本吗? -
对不起@Krzysztof Madej,我忘了告诉你我正在使用 Ionic,它最终会强制使用 Cordova 版本,总是强制你使用最后安装的 Build Tools 版本(我更新了问题)与 findLatestInstalledBuildTools
-
我正在考虑删除这个问题,因为我意识到这是 Android/Cordova/Ionic 的限制,我相信唯一的出路是用我在这里提到的那个做一个临时的解决方法github.com/apache/cordova-android/issues/…
-
this 表示,问题是 SDK 31+ 与 7.x 下的 AGP 不兼容。如何在 Azure DevOps CI 下更新 AGP?
标签: android cordova ionic-framework azure-devops azure-pipelines