Android项目compileSdkVersion升级到28后迁移至AndroidX库


  将项目compileSdkVersion升级到28以后,编译项目时报下面的错误

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:36:5-364:19 to override.

上面的错误提示说在manifest的application下添加

tools:replace="android:appComponentFactory"

仍然报错,AndroidX和Android Support库共存在很多问题,与其浪费时间解决这些不如干脆直接将项目迁移到库AndroidX,Android Studio 3.2.1已经有这样的功能,直接在右击项目在Refactor下选址Migrate to AndroidX就行了

这样处理了之后还是会有些地方需要手动修改,像ViewPager下的类需要从androidx.viewpager.widget.ViewPager引入,如果项目使用的是kotlin开发的话,Fragment的onCreateOptionsMenu、onOptionsItemSelected、onViewCreated需要修改,另外还需要注意一些第三方的库。


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.11000011.com/?id=64

« 上一篇 下一篇 »

评论

  1. xingzhehfl

    xingzhehfl 回复

    2019-04-20 15:38:22

    感谢

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

主机推荐

  • 搬瓦工