2013-06-06 23 views
7

我已經定義了一個模塊在下面的風格,我想使用它作爲一個主題上的活動如何使用IntelliJ引用在Android模塊中定義的樣式?

的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: error: Error: No resource found that matches the given name (at 'theme' with value '@style/MyTheme').

我如何引用在我的主應用程序模塊的jar中的樣式?

謝謝。

+0

你應該使用模塊依賴而不是jar依賴,你的主應用程序應該依賴於定義樣式的庫模塊。 – CrazyCoder

+0

我想分發我創建的JAR。是否有可能使用其中定義的資源? –

+0

請[請檢查此帖](http://devmaze.wordpress.com/2011/05/22/android-application-android-libraries-and-jar-libraries/)。 Android庫和jar庫的主要區別在於後者不能包含資源(如樣式)。 – CrazyCoder

回答

1

庫模塊的資源自動獲取如果模塊依賴性設置正確,則將其複製到App模塊並與其打包。那就是:依賴於模塊目錄,而不是jar文件。

庫項目的jar輸出不打包資源。默認的Android構建工具不支持它。

還有一種叫做apklib的特殊包裝類型,用於maven-android-plugin,它也可以打包資源,但是您已經使用Maven構建來使用此功能。

4

我只是修復了這個問題,該項目是這樣的:

  • 你有模塊(moduleLib,例如)
  • 你有一個模塊(moduleMain,例如)
  • moduleMain取決於moduleLib和moduleLib的一些主題被 在moduleMain

引用我所做的:

1.設置moduleLib爲庫項目

(菜單 - >項目結構...->模塊 - > moduleLib->小的Android - >勾選 「是在庫項目」

2設置moduleMain依賴在moduleLib

2.1去moduleMain的設定(步驟類似於前一個)

2.2切換到「相關性」

2.3點擊「+」,並選擇「模塊依賴「添加模塊庫

2.4變化的「範圍」編譯(我試圖拿起提供的,但我不能使用,則主題)

它爲我工作

相關問題