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

Ron*_*ler 9 java android intellij-idea android-xml

我在模块中定义了以下样式,我想将它用作Activity的主题

Android模块的styles.xml:

<resources>
    <style name="MyTheme" parent="android:Theme.Light.Panel"></style>
</resources>
Run Code Online (Sandbox Code Playgroud)

Android应用程序的AndroidManifest.xml:

 <activity android:name="MyActivity" android:theme="@style/MyTheme"> ... </activity>
Run Code Online (Sandbox Code Playgroud)

我正在使用IntelliJ,我得到编译错误说

android-apt-compiler:AndroidManifest.xml:26:错误:错误:找不到与给定名称匹配的资源(在'theme'处,值为'@ style/MyTheme').

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

谢谢.

luc*_*ian 6

我刚刚解决了这个问题,项目是这样的:

  • 你有模块(例如moduleLib)
  • 你有一个模块(例如moduleMain)
  • moduleMain依赖于moduleLib,moduleMib中引用了moduleLib的一些主题

我做了什么:

1.set moduleLib as Library项目

(menu-> Project Structures ...-> Modules-> moduleLib-> facet Android - >检查"Is Library project"

2设置moduleMain取决于moduleLib

2.1转到moduleMain的设置(步骤类似于前一个)

2.2切换到"依赖关系"

2.3单击"+",然后选择"module Dependency"添加moduleLib

2.4将"范围"改为编译(我试图拿起提供,但我不能使用主题)

这个对我有用


S.D*_*.D. 2

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

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

有一种名为“ apklibused by”的特殊打包类型maven-android-plugin也可以打包资源,但您必须使用 Maven 进行构建才能使用此功能。