後的研究2天,我終於找到了解決辦法。
的信息[這裏] [1]
[1]:Android style Resources compile (aapt) failing : Bad resource table: header size 0xc幫助了我。
無論它是Android項目還是庫中的一個,但是當您在其中一種樣式中聲明瞭新的ID時,無論如何都不能添加ids.xml文件來聲明唯一的ID。
就我而言,我宣佈一個風格,我RES /價值/ styles.xml
<style name="ActionBar">
<item name="android:id">**@+id/actionbar_container**</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">@dimen/actionbar_height</item>
<item name="android:orientation">horizontal</item>
<item name="android:background">@drawable/actionbar_gradient</item>
</style>
,然後添加一個RES /價值/ ids.xml,我宣佈了一些唯一的ID。例如,
<resources>
<item type="id" name="menu_refresh" />
</resources>
添加此文件後,R停止生成。 Project Clean沒有做這項工作。
當我將styles.xml中的聲明更改爲@id/actionbar_container時,R開始再次生成。不同之處在於我在上面的樣式中使用@id而不是 @ + id引用了我的ids.xml文件中的id。
結論:如果要在資源文件(即ids.xml)中聲明唯一的id,請首先仔細檢查樣式中是否還沒有聲明任何新的id(使用@ + id語法)。
希望能幫助任何有同樣問題的人。
快樂編碼!
複製ids.xml,切一切,除了一個ID,如果一點兒也不編譯這裏粘貼文件,所以我們可以看到它。 –
<?xml version =「1.0」encoding =「utf-8」?> 該文件的名稱是ids.xml,位於res/values下。當我清理項目時,R永遠不會再生成。 –
oceanfeeling
問題是,當我在一個新的空android庫項目中嘗試相同的一切工作正常。 R按預期正常再生。 – oceanfeeling