提问人:htafoya 提问时间:9/28/2023 最后编辑:htafoya 更新时间:9/28/2023 访问量:46
如果我使用低于 targetSdkVersion 的 buildToolsVersion 会发生什么情况
What happens if I use a buildToolsVersion which is lower than the targetSdkVersion
问:
我最近注意到 gradle 设置具有以下配置:
android {
buildToolsVersion = 30.0.2
defaultConfig {
minSDk = 33
targetSDK = 33
}
}
如前所述,buildToolsVersion 与 targetSDK 不匹配。但是在过去几个月的测试和发布中,没有发生任何不好的事情。
现在,我最近没有修改任何与 gradle 或 sdk 相关的内容,但是在最近的应用程序升级出版物(2023 年 9 月)中,应用程序在尝试加载本机库时开始崩溃。
不兼容的 buildToolsVersion 是否会影响 Google 交付基于捆绑包的 apk 或库的编译和构建方式?
构建版本没有因错误而更新,现在我可以使用 33.0.2,它应该与 sdk 33 相匹配。
答:
0赞
Scott Stanchfield
9/28/2023
#1
只要您使用的是 Android Gradle 插件 3.0.0 或更高版本,它就会自动选择正确的版本来使用。(只有当默认版本有问题时,才需要显式指定它)
请参阅 SDK 构建工具发行说明
评论
0赞
htafoya
9/28/2023
是的,但这并不能回答这个问题,如果我选择使用另一个更低的会发生什么?
0赞
Scott Stanchfield
9/28/2023
您确实希望使用最新的构建工具(让 Android Gradle 插件选择它),以确保您拥有与您正在使用的 SDK 版本相匹配的工具,并修复了最新的错误。例如,apksigner 多年来在其 APK 签名方案中发生了变化。如果使用较旧版本的生成工具,则无法使用更新的签名方案。(一般来说,较旧的主要版本的构建工具不知道较新的 Android SDK 中提供的功能和优化)
0赞
Scott Stanchfield
9/28/2023
我不得不问,您想使用旧版本有什么具体原因吗?从生成脚本中删除 buildToolsVersion 意味着要更新的版本号少了一个。
0赞
htafoya
9/29/2023
不,这不是故意的。但是上一个应用程序版本突然在某些设备上开始崩溃,这可能是构建工具未更新的原因。但是,我们已经做了一些测试,似乎没有关系。
评论