Android AAR Manifrest文件theme冲突问题

当我们引入aar作为项目的依赖时,由于aar一般包含资源文件,导致androidManifest清单文件需要合并。一般来说,编译之前我们需要在项目的gradle文件中,加上:

    <application 
    .....
    android:theme="@style/newTheme"
    tools:replace="android:theme">

同时还需要保证aar的androidManifest清单文件里面没有上面这句话。这句话的作用是用项目的theme代替aar中的主题。一般的,项目使用"@stlye/AppTheme",不会有问题,但是如果在aar中自定义了主题,运行是就会发生布局文件就会出现InflateException,这是由于自定义的theme文件被合并导致自定义的attr无法找到。
在android studio的user guide中发现,其实theme可以单独定义在每个activity的声明中,如

<activity android:name=”com.example.ActivityOne”
android:theme=”@oldtheme” />

这样将即可解决清单文件合并时,theme被覆盖的问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 前几天整理了Java面试题集合,今天再来整理下Android相关的面试题集合.如果你希望能得到最新的消息,可以关注...
    Boyko阅读 3,714评论 8 135
  • 四个象限时间管理法 把工作按照重要和紧急两方面的不同程度进行划分。 第一象限:没什么好说的了,立即去做!压力和危机...
    蓝白蛙阅读 1,075评论 0 0
  • “雷峰夕照”是西湖的十大美景之一。初到杭州自然是要前去参观一番。 对于雷峯塔,很多人喜欢问导游:“这塔和雷峰(著名...
    LilyanSiena阅读 574评论 0 1