0
當使用Android庫時,如果多個項目(主或庫)定義了相同的資源,則使用較高優先級項目的副本並替換前一個。自定義構建腳本以避免庫名稱衝突?
編寫可重用的庫時,這是一個問題,因爲它會強制您爲每個資源名添加前綴以避免衝突。有關該主題的更多信息,請參閱Android Parcel Project。
現在我想要做的是一個腳本,它在編譯之前會將所有庫中的每個資源的名稱與它們的包名稱相加。爲此,我打算使用生成的ant構建腳本併爲其添加一個自定義步驟。
你知道這可能嗎?你看到更好的解決方案來解決這個問題嗎?
我正在使用可插入的「模塊」(每個都是Android庫)製作可擴展的應用程序。所以在我的情況下,我可以要求模塊編寫者不要使用反射等。然後我會做一些類似於你的ParcelHelper的東西,但是在查找ID時會自動添加包名稱。這樣模塊開發人員可以完全忽略衝突問題。 – MasterScrat
您的模塊開發人員別無選擇,只能自己處理前綴,除非您還要強制他們使用您的Ant腳本。畢竟,他們需要測試他們的模塊。 – CommonsWare
好的,但是在任何情況下他們都需要SDK等,所以使Ant腳本成爲強制性的並不是一個真正的問題。我認爲這樣更方便,而不必使用前綴。 – MasterScrat