我在模块中定义了以下样式,我想将它用作活动
上的主题Android模块的styles.xml:
<resources>
<style name="MyTheme" parent="android:Theme.Light.Panel"></style>
</resources>
Android应用的AndroidManifest.xml:
<activity android:name="MyActivity" android:theme="@style/MyTheme"> ... </activity>
我正在使用 IntelliJ ,我收到编译错误
android-apt-compiler:AndroidManifest.xml:26:错误:错误:否 找到与给定名称匹配的资源(在'theme'处有值 '@风格/ MyTheme的')。
如何在主应用程序中引用模块jar中的样式?
感谢。
答案 0 :(得分:6)
我刚刚解决了这个问题,项目是这样的:
我做了什么:
1.将moduleLib设置为库项目
(menu-&gt; Project Structures ...-&gt; Modules-&gt; moduleLib-&gt; facet Android - &gt;检查“Is Library project”
2设置moduleMain取决于moduleLib
2.1转到moduleMain的设置(步骤类似于前一个步骤)
2.2切换到“依赖关系”
2.3单击“+”,然后选择“module Dependency”添加moduleLib
2.4将“范围”改为编译(我试图拿起提供,但我不能再使用主题了)它对我有用
答案 1 :(得分:2)
如果正确设置了模块依赖关系,则库模块的资源会自动复制到App模块并与App模块打包在一起。那就是:依赖于模块目录,而不是jar文件。
库项目的jar输出不包装资源。默认的android构建工具不支持它。
apklib
使用的特殊包装类型maven-android-plugin
也可以打包资源,但您可以使用Maven构建以使用此功能。