[英]Error "package android.support.v7.app does not exist"
我是android开发新手,一直在使用命令行工具创建android项目。 我遵循了android 开发人员教程中给出的所有说明。 但是,他们更关注 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
首先检查您的项目是否使用 androidx 或 android 支持库。 检查 gradle.properties 文件:
android.useAndroidX=true
android.enableJetifier=真
如果它包含以上几行,则它使用的是带有旧教程中的旧代码的 androidx。
在 build.gradle (module:app)
用
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;
如果从 MainActivity.java 报告问题,则替换
import android.support.v7.app.AppCompatActivity;
和
import androidx.appcompat.app.AppCompatActivity;
您的项目缺少 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"
作为依赖项。
清理您的项目,必须编译并正常工作。
使用Android Studio
你必须添加教程中没有指出的支持库的依赖
dependencies {
implementation 'com.android.support:appcompat-v7:22.0.0'
}
如果您使用的是最新的 Android Studio,那么 v7 库与 AndroidX 相矛盾,您只需要做的是:
在项目文件中进入 gradle.properties
找出android.useAndroidX=true
然后将其设置为android.useAndroidX=false
找出android.enableJetifier=true
然后将其设置为android.enableJetifier=false
重建你的项目,一切都会正常的。
切换到 AndroidX 对我有帮助: import androidx.appcompat.app.AppCompatActivity;
物有所值:
我在使用 Xamarin 时遇到了这个问题,即使我确实安装了 v4 和 v7 的支持包。
通过执行 Build -> Clean All 为我解决了这个问题。
对于迁移到 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'
首先检查您的项目是否使用androidx或android支持库。 检查gradle.properties文件:
android.useAndroidX=true
android.enableJetifier=true
如果包含以上几行,则说明它是将androidx与旧教程中的旧代码一起使用。
在build.gradle(module:app)中
采用
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;
(对我有用)感谢分享。
如果您的应用是 AndroidX,此回复可能适用于您的问题:
npm install --save-dev jetifier
npx jetify (may take a while)
npx react-native run-android
尝试从其他工作 PC 复制 C:\\Program Files\\Java\\jdk1.8.0_121 && C:\\Program Files\\Java\\jre1.8.0_121 然后全部(清理 && 重建)
如果您使用的是 SDK 28 或更高版本,则需要迁移到 AndroidX 库。
对于 Android Studio 3.2 及更高版本,您可以通过从菜单栏中选择 Refactor > Migrate to AndroidX 将现有项目迁移到 AndroidX。
对于 AndroidX 在 gridle 中实现以下库
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
我是初学者,但我为我的代码所做的工作是导入 androidx 因此替换了 android.v7 然后我删除了 support.v7 行并且我的代码工作。 很抱歉,我无法用更多技术术语来解释,但这对我有用。 实际上,Java 代码是我从旧教程中复制的代码,因此遇到了错误。 希望这可以帮助。
我今天刚收到这个错误,这就是我修复的方法。
注意:就我而言,错误发生在我将一个旧项目迁移到 androidx 后,因此导入很难与 androidx 相关。 我正在使用安卓工作室。
注意:您可能会遇到其他问题,因此每次遇到错误时,我都会检查其他被调用的类并确保它们的导入是正确的。 我所做的主要是按 ctrl+shift+R,然后将旧的导入放在第一个字段中,将正确的导入放在第二个字段中,然后全部替换。 这样,我一次替换了项目中的所有导入。
您可以使用 ctrl+shift+f 来查找使用导入的位置。
现在是 2020 年 12 月。 同样的问题以不同的方式出现在我身上。 当我打算在 google play 商店中进行部署时,它说我必须创建高于 android v28 的包,并且我使用 Android 版本 30(在 Xamarin Android 项目属性中)更新了我的项目编译。 不可能用同样的错误来做(Android 支持库不支持 V7)。 我尝试了上面提到的所有内容,但没有奏效,这对我有用。 我在 splashactivity.cs 中使用它
using Android.Support.V7.App;
它是一个给我带来麻烦的人,我把它改成了 V4
using Android.Support.V4.App;
然后 AppCompatActivity 下划线为红色,我必须按如下方式获取 androidx appcompat 应用程序
using AndroidX.AppCompat.App;
现在它正在工作,它也可以帮助其他人。
如果您在下载新版本时遇到依赖项问题,请尝试...
文件....管理IDE设置...恢复默认设置
重建项目问题解决后..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.