前提条件
- compileSdkVersion 至少设置在28 以上
- Android Studio 至少在3.2以上
操作步骤
重构命令使用两个标记。默认情况下,这两个标记在 gradle.properties 文件中都设为 true
:
android.useAndroidX=true
android.enableJetifier=true
注意:这里的迁移并不是自动导包,而是需要我们批量替换
替换快捷键
当前页面:ctrl+R
全局:ctrl+shift+R
替换完成后建议全局检索一下 v4,v7避免有遗漏,让后clear 一下在运行,运行时如果还有 类型装换异常,就看看xml文件,肯定有未修改的
android.support.annotation.CallSuper
androidx.annotation.CallSuper
android.support.v4.widget.NestedScrollView
androidx.core.widget.NestedScrollView
android.support.v4.widget.SwipeRefreshLayout
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android.support.design.widget.TextInputLayout
com.google.android.material.textfield.TextInputLayout
android.support.v4.app.DialogFragment
androidx.fragment.app.DialogFragment
android.support.design.widget.NavigationView
com.google.android.material.navigation.NavigationView
android.support.v4.view.GravityCompat
androidx.core.view.GravityCompat
android.support.v4.widget.DrawerLayout
androidx.drawerlayout.widget.DrawerLayout
android.support.v7.widget.GridLayoutManager
androidx.recyclerview.widget.GridLayoutManager
android.arch.lifecycle.AndroidViewModel
androidx.lifecycle.AndroidViewModel
android.support.v7.widget.SearchView
androidx.appcompat.widget.SearchView
android.arch.lifecycle.OnLifecycleEvent
androidx.lifecycle.OnLifecycleEvent
android.support.v7.widget.DividerItemDecoration
androidx.recyclerview.widget.DividerItemDecoration
android.support.design.widget.TabLayout
com.google.android.material.tabs.TabLayout
android.arch.lifecycle.Lifecycle
androidx.lifecycle.Lifecycle
android.support.v7.app.AlertDialog
androidx.appcompat.app.AlertDialog
android.databinding.DataBindingUtil
androidx.databinding.DataBindingUtil
android.support.annotation.DrawableRes
androidx.annotation.DrawableRes
android.support.v4.view.ViewPager
androidx.viewpager.widget.ViewPager
android.support.constraint.ConstraintLayout
androidx.constraintlayout.widget.ConstraintLayout
android.support.v4.app.Fragment
androidx.fragment.app.Fragment
android.support.v7.widget.AppCompatImageView
androidx.appcompat.widget.AppCompatImageView
android.support.v7.widget.AppCompatImageView
androidx.appcompat.widget.AppCompatImageView
android.support.v4.content.FileProvider
androidx.core.content.FileProvider
android.support.annotation.Nullable
androidx.annotation.Nullable
android.support.v7.widget.LinearLayoutManager
androidx.recyclerview.widget.LinearLayoutManager
android.support.v4.app.ActivityCompat
androidx.core.app.ActivityCompat
android.support.annotation.NonNull
androidx.annotation.NonNull
android.support.v7.app.AppCompatActivity
androidx.appcompat.app.AppCompatActivity
android.support.v7.widget.Toolbar
androidx.appcompat.widget.Toolbar
android.support.v7.widget.CardView
androidx.cardview.widget.CardView
android.support.v7.app.ActionBar
androidx.appcompat.app.ActionBar
android.support.v4.view.ViewCompat
androidx.core.view.ViewCompat
android.support.v4.app.NotificationManagerCompat
androidx.core.app.NotificationManagerCompat
android.support.v7.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView
android.support.v4.content.ContextCompat
androidx.core.content.ContextCompat