错误“包android.support.v7.app不存在”

时间:2014-04-28 00:37:56

标签: android android-support-library

我是android开发的新手,我一直在使用命令行工具来创建一个android项目。我按照tutorial at android developers中给出的所有说明进行操作。但是,他们更关注IDE用户。

当我尝试从ActionBarActivity而不仅仅是Activity扩展我的MainActivity类时,它引发了以下错误。

错误:包android.support.v7.app不存在

它抱怨这个进口声明。

import android.support.v7.app.ActionBarActivity;

我确保访问SDK管理器,并说安装了Android支持库。 我真的很难过这个,我真的很感激你们给我的任何帮助。

这可能会有所帮助: http://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html

19 个答案:

答案 0 :(得分:34)

首先检查您的项目是否使用androidx或android支持库。 检查gradle.properties文件:

  

android.useAndroidX = true

     

android.enableJetifier = true

如果包含上述行,则说明它是将androidx与旧教程中的旧代码一起使用。

在build.gradle(模块:应用)中

使用

implementation 'androidx.appcompat:appcompat:1.0.0'

代替

compile 'com.android.support:appcompat-v7:28.0.0'

也在MainActivity.java中: 使用

import androidx.appcompat.app.AppCompatActivity;

而不是:

import android.support.v7.app.AppCompatActivity;

答案 1 :(得分:14)

如果从MainActivity.java报告了该问题,请替换

import android.support.v7.app.AppCompatActivity;

import androidx.appcompat.app.AppCompatActivity;

答案 2 :(得分:11)

您的项目缺少SDK中的支持库。

如果您尚未安装它们,只需右键单击project > Android Tools > Install support library

然后,只需导入工作区,作为Android项目android-support-v7-appcompat,位于${android-sdk-path}/extras/android/support/v7

最后,右键点击Android project > Properties > Android Tab。按下Add按钮并添加支持项目"android-support-v7-appcompat"作为依赖项。

清理项目,必须编译并正常工作。

答案 3 :(得分:9)

使用Android Studio您必须添加教程中未指出的 support library 的依赖关系

dependencies {

    compile 'com.android.support:appcompat-v7:22.0.0'
}

答案 4 :(得分:5)

为了它的价值:

我在使用Xamarin时遇到了这个问题,尽管我确实安装了支持包,包括v4和v7。

通过Build - >解决了这个问题。全部清洁。

答案 5 :(得分:4)

切换到AndroidX对我有帮助: import androidx.appcompat.app.AppCompatActivity;

答案 6 :(得分:3)

首先检查您的项目是否使用androidx或android支持库。检查gradle.properties文件:

android.useAndroidX=true
android.enableJetifier=true

如果包含上述行,则说明它是将androidx与旧教程中的旧代码一起使用。

在build.gradle(模块:应用)中

使用

implementation 'androidx.appcompat:appcompat:1.0.0'

代替

compile 'com.android.support:appcompat-v7:28.0.0'

也在MainActivity.java中:使用

import androidx.appcompat.app.AppCompatActivity;

而不是:

import android.support.v7.app.AppCompatActivity;

(它对我有用)感谢分享。

答案 7 :(得分:2)

如果您使用的是最新的Android Studio,则v7库与AndroidX相矛盾,只需要做的是:

  

在Project文件中,进入gradle.properties
      找出android.useAndroidX=true,然后将其设置为android.useAndroidX=false
      找出android.enableJetifier=true,然后将其设置为android.enableJetifier=false
  重建您的项目,一切都会很好。

答案 8 :(得分:1)

如果您的应用是AndroidX,则此response可能适用于您的问题:

npm install --save-dev jetifier
npx jetify (may take a while)
npx react-native run-android

答案 9 :(得分:1)

对于AndroidX,在网格中实现以下lib

implementation 'androidx.palette:palette:1.0.0'

并在活动中导入以下课程-

import androidx.palette.graphics.Palette;

有关更多信息,请参阅AndroidX https://developer.android.com/jetpack/androidx/migrate/artifact-mappings的类和映射 https://developer.android.com/jetpack/androidx/migrate/class-mappings

答案 10 :(得分:1)

如果您使用的是SDK 28或更高版本,则需要迁移到AndroidX库。

在Android Studio 3.2及更高版本中,您可以通过从菜单栏中选择“重构”>“迁移到AndroidX”来将现有项目迁移到AndroidX。

答案 11 :(得分:0)

重建项目后,问题解决了。

答案 12 :(得分:0)

我是一个初学者,但是我为代码工作所要做的就是导入androidx,因此替换了android.v7,然后我删除了support.v7行,我的代码工作了。 抱歉,我无法用更多的技术术语进行解释,但这对我有用。 实际上,Java代码是我从旧教程中复制的代码,因此遇到了错误。 希望这会有所帮助。

答案 13 :(得分:0)

对于那些迁移到androidx的用户,以下是到新软件包的映射列表:https://developer.android.com/jetpack/androidx/migrate#class_mappings

使用implementation 'androidx.appcompat:appcompat:1.0.0'

代替支持库implementation 'com.android.support:appcompat-v7:28.0.0'

答案 14 :(得分:0)

我今天刚遇到这个错误,这就是我的解决方法。

  • 在我的生成输出中,我双击出现错误的类。
  • 开课后,我扩展了导入部分并删除了现有的 导入错误。
  • 然后我将鼠标悬停在以下错误附近:RecyclerView,LinearLayoutManager和FragmentTransaction,然后选择Alt + Enter导入适当的类。

注意:就我而言,该错误是在我将一个旧项目迁移到androidx之后发生的,因此导入与androidx很难相关。我正在使用android studio。

注意:您可能会遇到其他问题,因此每次遇到错误时,我都会检查其他被调用的类并确保它们的导入正确。我主要要做的是按ctrl + shift + R,然后将旧的导入内容放在第一个字段中,然后将正确的导入内容放在第二个字段中,然后替换所有内容。这样,我可以一次替换项目中的所有导入。

您可以使用ctrl + shift + f查找使用导入的位置。

答案 15 :(得分:0)

尝试复制C:\ Program Files \ Java \ jdk1.8.0_121&& C:\ Program Files \ Java \ jre1.8.0_121来自其他工作PC,然后全部(清洁&&重建)

答案 16 :(得分:0)

我使用:

npx jetifier

这可以解决问题。

参考: Cannot build Ionic App on Android once installed BackgroundGeolocation Plugin with Capacitor

答案 17 :(得分:0)

现在是2020年12月。相同的问题以不同的方式出现在我身上。 当我打算在Google Play商店中进行部署时,它说我必须创建高于android v28的捆绑软件,并使用Android版本30(在Xamarin Android项目属性中)更新了我的项目Compile。 无法执行相同的错误(Android支持库不支持V7)。 我尝试了上面提到的所有内容,但没有用,这对我来说是有用的。 我在splashactivity.cs中使用了这个

using Android.Support.V7.App;

这是给麻烦的那个,我把它改成了V4

using Android.Support.V4.App;

然后AppCompatActivity用红色下划线标出,我必须按如下方式获取androidx appcompat应用程序

using AndroidX.AppCompat.App;

现在它正在工作,它可能也会对其他人有所帮助。

答案 18 :(得分:-1)

如果您在下载新版本时遇到依赖项问题,请尝试...

文件....管理IDE设置...恢复默认设置