为什么 "androidx.appcompat" 和 "android.support.v7" 库与 Android Studio 的某些版本不兼容?

Why "androidx.appcompat" and "android.support.v7" libraries are not compatible for some versions of Android Studio?

我在大学讲课期间使用 Android Studio 制作了一个 android 应用程序。然后我将项目上传到驱动器,当我回到家,安装最新的 Android Studio 后,我打开我的项目,几乎每一行代码都被标记为找不到库。

我发现我在电脑上开发的时候用的是android.support.v7.app.AppCompatActivity但是在国内不被识别。所以我试着在家里创建一个空项目,我发现它使用 androidx.appcompat.app.AppCompatActivity.

我尝试过的一个解决方案是删除所有导入的库,然后我让 Android Studio 导入他需要的东西,但这是愚蠢的。我每次切换工作站时都必须这样做。

为什么不能只有一个图书馆?是否有其他解决方案,而不是重新导入所有库?

在现代 android 应用程序开发中,您不能将 AndroidX 库与 support 库混合使用。 support 已经弃用,AndroidX 是未来的。因此,将您现有的项目迁移到 AndroidX

With Android Studio 3.2 and higher, you can migrate an existing project to AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.

查看official documents了解更多信息

您的问题是 "uploaded the project to drive",它还保存了 .idea 文件夹,其中存储了与 IDE 和计算机有关的所有内容。因此,您正在另一台计算机上打开一个项目,该项目包含到您的旧计算机的路径。解决方案:

  • 关闭Android Studio,然后从项目中删除.idea和.gradle文件夹,重新打开
  • File/Invalidate 缓存并重启

推荐的解决方案使用类似git的版本控制系统。 Android Studio 在与 VCS 的集成方面做得非常好。在菜单中查找 VCS/Enable 版本控制集成,您需要先安装 git 并知道如何使用 git。

还有一件事,新的 AS 版本有一个同步 gradle 图标,是一个带箭头的大象,有时 gradle 上的大变化可能会被忽视,所以点击它。还有通常的清理项目或重建项目。

问题的另一部分是:不同的库。 Androidx 的引入是为了将支持库整合到 1 个库中。建议使用它。如果最新版本的 Android Studio 不支持它,那么您将不得不更新其他桌面上的 IDE