如何添加依赖项?

时间:2020-07-09 06:54:51

标签: android gradle

我正在使用Android Studio版本4.0

在项目级别gradle中:

def supportVersion = "27.1.0"
ext.deps = [
    supportAppCompat   : "com.android.support:appcompat-v7:$supportVersion",
    supportDesign      : "com.android.support:design:$supportVersion",
 
]

模块级别gradle:

dependencies {    
implementation deps.supportAppCompat
implementation deps.supportDesign
}

导入时会发生错误

error pic

当我导入此

import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;

xml错误

error pic

在xml中添加此标签时发生错误

<android.support.design.widget.CoordinatorLayout/>
<android.support.design.widget.AppBarLayout/>
<android.support.v7.widget.Toolbar />
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton />

为此提供解决方案!!!

3 个答案:

答案 0 :(得分:1)

自Google正式文档(https://developer.android.com/topic/libraries/support-library/packages

注意:随着支持库28.0.0的发布,不推荐使用android.support打包的库,并由打包为androidx的单独版本的Jetpack库代替。 Jetpack库的最初1.0.0版本提供了与Support Library 28.0.0的奇偶校验,并提供了迁移到新的androidx包装的起点。

要纠正该错误:

"com.android.support:appcompat-v7:$supportVersion"
"com.android.support:design:$supportVersion"

def supportVersion = "1.0.0"
ext.deps = [
    supportAppCompat   : "androidx.appcompat:appcompat:$supportVersion",
    supportDesign      : "com.google.android.material:material:$supportVersion",
]

之后,重新启动Android Studio或“刷新”都会将数据缓存为- enter image description here

有关此线程的更多信息:Cannot resolve symbol AppCompatActivity - Support v7 libraries aren't recognized?

强制Android Studio使用旧库

我检查您使用的是27.1.0,因此我们可以强制android studio不要使用androidx

  • 转到gradle.properties

  • 使这些标志为假

    android.useAndroidX = false

    android.enableJetifier = false

答案 1 :(得分:0)

使用android studio 4.0

使用androidX库而不是支持库...最新版本使用androidx

    dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0-alpha3', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    testImplementation 'junit:junit:4.12'
}

答案 2 :(得分:0)

您可以将 supportAppCompat 迁移到AndroidX库。

在菜单中转到重构->迁移到AndroidX。然后,您应该在类中重新导入androidx。