Android 引入recycleview依赖报错INFO: Configuration ‘compile‘ is obsolete and has been replaced with ‘imple

1. 报错问题

在自己写的一个项目中引入了recycleview,但是运行报错
INFO: Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.
It will be removed soon. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
在这里插入图片描述
说是compile已经不适用改为implementation还是没解决,又爆出了另一个错误:
在这里插入图片描述
Version 28 (imtended for Android Pie and below isth last verson ofthelegacy supprt libray so we recomerdtht you mig at to Afdrid lraies hra tngfArtrodQ ad moitg homaedThe IDE can help with this: Refactor > Migrate to AndroidX… mor…(Ctrl+F1)

2. 原因分析

由于Android support包版本依赖混乱,对实际开发不是很友好,经常出现依赖包重复或者项目本身与三方库的support包版本不一致等情况,google在发布support library最后一个版本 28的同时,发布了androidx第一个版本,AndroidX是对Support的整理,解决了support包混乱不堪的状况.

1.由于Android support包版本依赖混乱,又Android Studio 版本较高,添加库依赖已经不支持compile语句,较高的版本应使用implementation或者api语句。

2.若使用api或implementation语句仍然报错,可能是库的版本较低,出现了不兼容的现象。

3. "试用"解决办法

某位博主的解决方案如下:
Refactor->Migrate to AndroidX->Migrate
在这里插入图片描述

但是重构后依然没有解决,只是把compile改为implementation而已,依旧报错

4.成功解决方法

  1. 将原先报错的依赖
implementation 'com.android.support:recyclerview-v7:28.0.0'
  1. 更改为如下依赖:
implementation 'androidx.recyclerview:recyclerview:1.1.0'
  1. 将关联的布局文件中的Recycleview版本:
<android.support.v7.widget.RecyclerView

改为如下版本:
在这里插入图片描述
然后就ok了,测试成功


另外了解升级 AndroidX 之后 常用的依赖

升级 AndroidX 之后 常用的依赖

1、CardView
 implementation 'androidx.cardview:cardview:1.0.0'

2、TabLayout
 implementation 'com.google.android.material:material:1.0.0'

3、RecycleView
implementation 'androidx.recyclerview:recyclerview:1.0.0'

4、Snackbar
implementation 'com.google.android.material.snackbar.Snackbar:1.0.0-rc01'

5、swiperefreshlayout
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'

6、viewpager
implementation 'androidx.viewpager:viewpager:1.0.0'

7、design ui 库
implementation 'com.google.android.material:material:1.0.0-rc01'

8、coordinatorlayout
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'

9、constraintlayout 约束布局
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

10、NavigationView 侧滑
implementation 'com.google.android.material.navigation.NavigationView:1.0.0'

11、drawerlayout 抽屉布局
implementation'androidx.drawerlayout:drawerlayout:1.0.0'

12、gridlayout 网格布局
implementation'androidx.gridlayout:gridlayout:1.0.0'

13、recyclerview-selection RecycleView 高亮显示方案
implementation'androidx.recyclerview:recyclerview-selection:1.0.0'

升级 AndroidX 之后常用的Acitivity

import androidx.appcompat.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView;

import androidx.core.view.ViewPager;
import androidx.viewpager.widget.ViewPager;

import androidx.core.view.PagerAdapter;
import androidx.viewpager.widget.PagerAdapter;

import androidx.core.app.Fragment;
import androidx.fragment.app.Fragment;

import androidx.core.app.FragmentManager;
import androidx.fragment.app.FragmentManager;

import androidx.core.app.FragmentTransaction;
import androidx.fragment.app.FragmentTransaction;

import androidx.core.content.LocalBroadcastManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

import androidx.appcompat.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.DefaultItemAnimator;

import androidx.appcompat.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;

import androidx.appcompat.widget.GridLayoutManager;
import androidx.recyclerview.widget.GridLayoutManager;

import androidx.appcompat.widget.StaggeredGridLayoutManager;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;

import android.support.design.widget.CoordinatorLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;

import android.support.design.widget.CoordinatorLayout;
import androidx.coordinatorlayout.widget.CoordinatorLayout;

import android.support.design.widget.TabLayout;
import com.google.android.material.tabs.TabLayout;

import android.support.design.widget.AppBarLayout;
import com.google.android.material.appbar.AppBarLayout

升级 AndroidX 布局文件xml

<android.support.v4.widget.NestedScrollView/>
<androidx.core.widget.NestedScrollView/>

<android.support.v4.widget.Space/>
<Space/>

<android.support.v7.widget.AppCompatTextView/>
<TextView/>

<androidx.appcompat.widget.CardView/>
<androidx.cardview.widget.CardView/>

官网升级AndroidX 对比详细文档

参考:
Android 依赖报错Version 28 (intended for Android Pie and below) is the last version of the legacy

android引入RecyclerView依赖

猜你喜欢

转载自blog.csdn.net/weixin_43853746/article/details/110881798