在项目引入了permission_handler: ^3.2.2后,项目出现报androidx而无法编译的情况,我最开始是想将项目转andoirdx,结果不成功,最好选择将androidx去掉。
1.找到自己所引入的依赖,打开android目录。
修改后
修改前
修改后
修改前
这个时候重新编译,会有如下错误
我的做法是将报错的位置直接注释,比如上方576行出现错误,我就将这个代码块直接注释。因为我使用这个依赖的目的是能够动态申请定位权限,所以我注释后能够实现我的目的即可,别的不用管。
将所有日志报错的代码块注释掉之后,再次运行,成功!
在编译期间,还遇到一个问题,修改版本号解决的,之前我是28.0.0。
D8: Program type already present: android.arch.core.util.Function FAILURE: .........
当然大家如果是别的依赖,还有问题,可以全局搜一下androidx关键字,看是否有改漏的地方,在最开始寻找需要修改的位置也可以全局搜索。
快捷键无法使用的可以使用ctrl+shift+r来查找,不过切记不要使用了替换功能,(不熟悉这个操作的可以使用测试项目先熟练一下)。另外快捷键无法使用多半是因为输入法是电脑自带的输入法,该快捷键是输入法的繁简切换。
===================================================
以下内容来源于:https://www.jianshu.com/p/3658f684a31d
复制到这里防止原文删除 反着看将androidx改为android即可
======================================================
v4包问题:
import android.support.v4.view.ViewPager
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.AccessibilityDelegateCompat;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.VelocityTrackerCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewConfigurationCompat;
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
import android.support.v4.view.accessibility.AccessibilityRecordCompat;
import android.support.v4.widget.EdgeEffectCompat;
import android.support.v4.app.DialogFragment;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.content.ContextCompat;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.NotificationCompat;
import android.support.v4.os.ParcelableCompat;
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
import android.support.v4.view.accessibility.AccessibilityEventCompat;
import android.support.v4.content.FileProvider;
改为:
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.PagerAdapter;
import androidx.core.view.AccessibilityDelegateCompat;
import androidx.core.view.MotionEventCompat;
import androidx.core.view.VelocityTrackerCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.ViewConfigurationCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.view.accessibility.AccessibilityRecordCompat;
import androidx.core.widget.EdgeEffectCompat;
import androidx.fragment.app.DialogFragment;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.fragment.app.FragmentTransaction;
import androidx.core.content.ContextCompat;
import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationCompat;
v7包问题:
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.LinearSmoothScroller;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.AppCompatImageView
import android.support.v7.widget.AppCompatTextView;
import android.support.v7.widget.GridLayoutManager;
android.support.v7.widget.AppCompatSeekBar
import android.support.v7.app.AppCompatActivity;
改为:
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.LinearSmoothScroller;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.appcompat.widget.AppCompatSeekBar;
import androidx.appcompat.app.AppCompatActivity;
注解问题:
import android.support.annotation.Nullable;
import android.support.annotation.IntDef;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull;
import android.support.annotation.DimenRes;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.support.annotation.LayoutRes;
import android.support.annotation.IdRes;
import android.support.annotation.FloatRange;
import android.support.annotation.IntRange;
改为:
import androidx.annotation.Nullable;
import androidx.annotation.IntDef;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.DimenRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.StringRes;
import androidx.annotation.LayoutRes;
import androidx.annotation.IdRes;
bind:
import android.databinding.BindingAdapter;
改为:
import androidx.databinding.BindingAdapter;
support库:
android.support.constraint.ConstraintLayout
改为:
androidx.constraintlayout.widget.ConstraintLayout