今天集成国外支付的时候报错了,遇到了以下问题,如果有相同的问题,希望能帮到你,同时也记录以下,下次出现可以快速解决
1.
其实报错信息已经说了,需要在清单文件中加入 add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest
加完之后运行还是报错....
这个我也懵逼,到网上看了下说是加入
<application
android:appComponentFactory=""
然后运行
还是报错,错误信息是:(这里额外的说一下,如果你没看看到错误信息,那么你往上拉一下,或者你配置环境变量的话,直接在AS底部的Terminal这里使用命令,输入gradlew compileDebug --stacktrace或者gradlew compileDebugJavaWithJavac,尽量使用后者,感觉后者定位问题更好一些)
这个是国外支付的sdk,他用到了ConstraintLayout,点进去看一下
自己的项目没有用,所以就没有加入,在仔细看他们用的androidx的库,如果你没有用androidx的话肯定下面又一堆问题
加入依赖后
然后把依赖转换为androidx
转换完成后编译通过了,但是运行后发现注解不能用了,
我使用了butterknife,这应该是的问题butterknife,然后去看下
这是因为butterknife版本比较低,在这个版本还没有使用androidx,直接使用快捷键alt+enter健,会帮你把版本改到最新版本
运行还是报错
最后再加上
然后就能运行起来了,如果碰到不能运行的时候,直接加最后一项
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}