Java 如何使用IntelliJ引用Android模块中定义的样式?

Java 如何使用IntelliJ引用Android模块中定义的样式?,java,android,intellij-idea,android-xml,Java,Android,Intellij Idea,Android Xml,我在一个模块中定义了以下样式,我想将其用作活动的主题 Android模块的样式。xml: <resources> <style name="MyTheme" parent="android:Theme.Light.Panel"></style> </resources> <activity android:name="MyActivity" android:theme="@style/MyTheme"> ... </a

我在一个模块中定义了以下样式,我想将其用作活动的主题

Android模块的样式。xml:

<resources>
    <style name="MyTheme" parent="android:Theme.Light.Panel"></style>
</resources>
 <activity android:name="MyActivity" android:theme="@style/MyTheme"> ... </activity>

Android应用程序的AndroidManifest.xml:

<resources>
    <style name="MyTheme" parent="android:Theme.Light.Panel"></style>
</resources>
 <activity android:name="MyActivity" android:theme="@style/MyTheme"> ... </activity>
。。。
我正在使用IntelliJ,我得到编译错误信息

android apt编译器:AndroidManifest.xml:26:错误:错误:否 找到与给定名称(在“主题”处)匹配的资源 “@style/MyTheme”)

如何在主应用程序中引用模块jar中的样式


谢谢。

我刚刚解决了这个问题,项目如下:

  • 您有模块(例如moduleLib)
  • 您有一个模块(例如moduleMain)
  • moduleMain依赖于moduleLib,moduleLib的一些主题是 在moduleMain中引用
我所做的:

1.将moduleLib设置为库项目

(菜单->项目结构…->模块->moduleLib->方面Android->检查“Is库项目”

2设置模块主要取决于模块B

2.1进入moduleMain的设置(步骤与前一步类似)

2.2切换到“依赖项”

2.3点击“+”,选择“模块依赖项”添加模块选项卡

2.4将“范围”更改为编译(我已尝试选择提供的主题,但无法使用主题)


如果模块依赖关系设置正确,则库模块的资源会自动复制到App模块并与App模块一起打包。也就是说:依赖于模块目录,而不是jar文件

库项目的jar输出不打包资源。默认的android构建工具不支持它


有一种叫做
apklib
的特殊打包类型,由
maven android plugin
使用,它也可以打包资源,但您必须使用maven构建才能使用此功能。

您应该使用模块依赖项而不是jar依赖项,您的主应用程序应该依赖于定义样式的库模块。我想分发我创建的JAR。是否可以使用其中定义的资源?请。Android库和JAR库之间的主要区别是后者不能包含资源(例如样式)。已经阅读了该页面。我需要资源,所以这不好。