Gradle 和 Android v7 兼容性问题

2024-06-25

我在使用 Gradle 编译 Android 应用程序时遇到问题。我是 Gradle 的新手,所以...

Gradle 似乎无法正确解析 v7 兼容库。这是我使用它的代码:

MenuItemCompat.setOnActionExpandListener(mSearchItem,
            new MenuItemCompat.OnActionExpandListener() {
                @Override
                public boolean onMenuItemActionCollapse(MenuItem item) { ...}

这是我从 Gradle 得到的错误:

C:\>gradlew build

error: cannot find symbol
            new MenuItemCompat.OnActionExpandListener() {
                              ^
  symbol:   class OnActionExpandListener
  location: class MenuItemCompat

我可以从 Android Studio 顺利构建这个。

我尝试将 compat 库 jar 手动添加到我的 lib 目录中,并在 gradle.build 文件中添加依赖项,但它不起作用。


问题可能是您的 Android SDK 中缺少 appcompat 存储库。

可能您正在使用 2 个 gradle 和 Android SDK 实例。 Android Studio 与其自己的 Android SDK 捆绑在一起,因此更新它不会更改您之前安装的 Android Studio。通常情况下,您会在 Android Studio 中启动一个 Gradle 项目,并使用 Gradle-Wrapper 来自行管理 gradle 实例(通常它会下载到您的 %USER%/.gradle 文件夹中)

我还猜你下载了 gradle 并且该实例是你通过命令行使用的。因此,要解决此问题,只需更新您的非 android studio android sdk(另请检查所有存储库)

有关该问题的更多信息: Android 库项目不会捆绑为 jar,因为它们需要额外的资源。其格式是 AAR,据我所知,目前无法直接构建。此外,gradle android 插件不能与本地 AAR 一起使用,只能从 maven/ivy 存储库中使用(这是设计说明,是有意的)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gradle 和 Android v7 兼容性问题 的相关文章

随机推荐