我是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
答案 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)
我今天刚遇到这个错误,这就是我的解决方法。
注意:就我而言,该错误是在我将一个旧项目迁移到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设置...恢复默认设置