迁移到AndroidX后,如何更新所有库?

时间:2019-10-09 16:58:48

标签: java android android-studio gradle androidx

我最近将自己的应用程序迁移到了AndroidX,却一无所知。结果,每次我运行项目时,都会给我带来很多错误。

我已将所有Gradle依赖项和targetSDK更新为最新版本代码。我还向gradle.properties添加了以下内容:

android.useAndroidX=true 
android.enableJetifier=true

但这仍然没有区别。

以下是我遇到的错误的示例:

  

错误:程序包android.support.annotation不存在

     

错误:程序包android.support.v7.widget不存在

     

错误:软件包RecyclerView不存在

     

错误:找不到符号类FragmentActivity

     

错误:找不到符号类CardView

     

错误:找不到符号类FragmentPagerAdapter

     

错误:找不到符号类DialogFragment

我想知道我可以摆脱这些错误,因为它阻止了我在移动设备上运行项目?

3 个答案:

答案 0 :(得分:1)

Here you can find the full class mapping
在您的情况下,您必须更改导入:

error: package android.support.annotation does not exist
error: package android.support.v7.widget does not exist

包装:

package androidx.annotation.*;
package androidx.appcompat.widget.*;

课程:

    android.support.v4.app.FragmentActivity    androidx.fragment.app.FragmentActivity
    android.support.v7.widget.CardView         androidx.cardview.widget.CardView
    android.support.v4.app.FragmentPagerAdapter  androidx.fragment.app.FragmentPagerAdapter
    android.support.v7.app.AppCompatDialogFragment androidx.appcompat.app.AppCompatDialogFragment
    android.support.v7.widget.RecyclerView   androidx.recyclerview.widget.RecyclerView

答案 1 :(得分:1)

您似乎已在gradle文件中正确设置了所有内容。问题是缺少一些尚未转换/迁移到AndroidX的软件包。您可以执行以下操作:


  • 转到您的app.gradle文件,然后右键单击任何地方。
  • 在弹出的菜单上选择重构
  • 在子菜单中,选择迁移到AndroidX
  • 坐下来,让Android Studio迁移所有文件。


要了解更多信息,请签出this

我希望这会有所帮助。快活的编码!

答案 2 :(得分:1)

在Android Studio菜单中,转到“重构”,然后选择“迁移到AndroidX”。 休息android studio会自动执行。

除此之外,如果您仍然发现错误,则必须手动执行某些任务。

  1. 在布局中找到所有旧的并替换为

android.support.v7.widget.CardViewandroidx.cardview.widget.CardView

您将在https://developer.android.com/jetpack/androidx/migrate/class-mappings

中找到与映射有关的信息

只需使用Ctr + F查找旧文本并复制替换文本

  1. 在应用程序构建中 implementation 'com.android.support:cardview-v7:28.0.0'implementation 'androidx.cardview:cardview:1.0.0'

您将在https://developer.android.com/jetpack/androidx/migrate/artifact-mappings

中找到与地图相关的信息