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需要修改,另外还需要注意一些第三方的库。


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

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

« 上一篇 下一篇 »
«    2026年7月    »
12345
6789101112
13141516171819
20212223242526
2728293031

控制面板

您好,欢迎到访网站!
  查看权限
«    2026年7月    »
12345
6789101112
13141516171819
20212223242526
2728293031

控制面板

您好,欢迎到访网站!
  查看权限
您是本站第24533名访客 今日有0篇新文章