如何在动态功能模块中包含AAR?

问题描述

我想将一个很大的AAR库(“ crypteriumsdk”)放入一个动态功能模块中,该模块可以按需安装。但是当我这样做时,它找不到其资源(主题):

资源样式/ CrypteriumTheme(又名 找不到com.crypter.cryptocyrrency:style / CrypteriumTheme。

我还在主清单(应用程序模块)的@H_502_7@tools:replace="android:theme"中添加了@H_502_7@application。

这是怎么了?

enter image description here

enter image description here

@H_502[email protected]

@H_502_7@include ':crypteriumsdk'
include ':wallet'
include ':app'

@H_502[email protected]

@H_502_7@dependencies {
    implementation filetree(dir: "libs",include: ["*.jar"])
    implementation project(":app")
    implementation project(':crypteriumsdk') // added the library here
}

解决方法

Manifest合并得太早了,无法在用户的设备上使用实际的主题实现。

您可以将其添加到基本模块的styles.xml中:

    <style name="CrypteriumTheme" />

这允许在安装时找到样式资源ID,并在模块可用并启动后将其覆盖。

有关有效的实现,请参见this sample