2017-02-07 28 views
1

這是我的應用程序的清單,我想覆蓋android:supportsRtl標籤爲我所有的圖書館我可以爲清單合併替換標記制定一個例外嗎?

<application 
android:name=".ApplicationClass" 
android:allowBackup="true" 
android:hardwareAccelerated="true" 
android:icon="@mipmap/ic_launcher" 
android:label="@string/app_name" 
android:largeHeap="true" 
android:supportsRtl="false" 
android:theme="@style/AppTheme" 
tools:replace="android:icon,android:label,android:supportsRtl"> 

我有5 libraries,我想用tools:replace更換android:supportsRtl=」false」

one library我想讓它supportRtl

的問題是,我可以破例於需要android:supportsRtl="true"實際支持RTL並保留其他庫通過我的應用程序被覆蓋,並保持android:supportsRtl="false"圖書館嗎?

回答

1

不幸的是,目前這是不可能的。你需要做的是另闢蹊徑,即指定該標記應該應用於哪些軟件包。

利用marker selectortools:selector指定要將tools:replace應用於的其他4個庫的包名稱。

tools:selector="com.package.lib1, com.package.lib2" 

編輯

正如意見中提到的OP,這將只能用於<permission>標籤。

+0

好點!但我認爲我最終會遇到與清單中聲明的​​庫清單合併衝突:android:supportsRtl =「true」':( –

+0

我無法理解確切的場景,哪裏會發生衝突。您有5個模塊,在你選擇的選擇器中,你希望覆蓋它們中的4個合併規則,第五個將與它的值一起出現,爲什麼它會發生衝突? – azizbekian

+0

好的,讓我試試看,看看會發生什麼 謝謝你! –

相關問題