gpt4 book ai didi

android - 无法更改构建工具版本来编译 Android 应用程序

转载 作者:行者123 更新时间:2023-11-30 02:19:58 29 4
gpt4 key购买 nike

我想使用构建工具 21.1+ 编译一个 Android 应用程序,因为我需要使用 multidex 支持。我从 SDK 管理器安装了构建工具 21.1.2。之后,我更改了所有 build.gradle 文件以包含 buildToolsVersion:

    android {
...
buildToolsVersion "21.1.2"
...
}

由于该应用程序依赖于其他几个项目,因此有多个 build.gradle 文件,具有不同的版本和参数。

此外,还对 multidex 进行了必要的其他更改。在需要 multidex 的应用程序中,我像这样修改了 build.gradle :

android {
...
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
minSdkVersion 21
targetSdkVersion 21

// Enabling multidex support.
multiDexEnabled true
}
...
}

当然还有将 list 修改为。

问题是,尽管对 build.gradle 进行了所有修改,但该项目似乎正在使用 19.1.0 构建工具进行编译,因为当我删除它们时,出现此错误:

> failed to find Build Tools revision 19.1.0

当我安装 build tools 19 时,项目在编译过程中更进一步,但它会出现各种不同的奇怪错误,具体取决于编译参数。如果我设置:

    minSdkVersion 15
targetSdkVersion 21

该项目在 dex 过程中无法编译并出现奇怪的错误。但是如果我将两者都设置为 v 21,项目将无法编译,因为它说它需要构建工具 21.0+,我在 build.gradle 中明确要求。

由于项目最初是这样开发的,所以我使用的是 gradle wrapper (gradlew),而不是 Android Studio 的内置 gradle。

请注意,以下内容与错误的技术部分无关,但可能有助于理解它的上下文:我正在尝试编译 ros-android (android_core) 库,但将所有内容更新到最新版本:gradle 2.3、android 插件 1.1.0、构建工具 21.1.2、Google API 21、android studio 1.1.0。我们的想法是能够将最新的 Google API 与 ros-android 库结合使用。

最佳答案

这是一个棘手的问题。问题是 buildtools 没有像我们预期的那样由 build.gradle 设置。相反,有另一个插件(rosjava android)正在调用 gradle 构建。问题是这个插件有“硬编码”的构建工具版本,所以如果不重新编译所有东西就不可能改变它们。

令人高兴的是,库的作者在最近几天更新了所有内容,包括 buildtools 版本和 maven repo。所以问题现在已经解决了。

关于android - 无法更改构建工具版本来编译 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723375/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com