2016-07-08 21 views
3

我這個錯誤stucking試圖建立我的PhoneGap項目plugin.xml中添加一個「排除模塊」規則的條目科爾多瓦

enter image description here 據我所知這個錯誤,因爲有一個庫在項目中設置兩次。 檢查我所有的圖書館,我發現只有一個庫,導致此

<framework src="com.android.support:design:23.4.0"/> 

(在我的插件之一找到)的事情是,我可以設置在plugin.xml文件中排除模塊規則? 我想我需要排除com.android.supportv4

回答

3

最後我決定,我不得不創建我的插件包含如下的集結extras.gradle文件:

configurations { 
    all*.exclude group: 'com.android.support', module: 'support-v4' 
    all*.exclude group: 'com.android.support', module: 'support-annotations'} 

那麼這gradle這個文件需要使用plugin.xml文件的輸入:

<framework src="build-extras.gradle" custom="true" type="gradleReference" /> 
+0

很好的發現!在您的插件的哪個目錄中創建了build-extras.gradle文件? –

0

我會強烈建議https://github.com/dpa99c/cordova-android-support-gradle-release這是一個「插件對準其他插件指定的Android的支持庫的各種版本」。

他們用clever gradle dependency resolution來解決這個問題:

configurations.all { 
    resolutionStrategy.eachDependency { DependencyResolveDetails details -> 
     if (details.requested.group in ['com.android.support'] && !(details.requested.name in ['multidex', 'multidex-instrumentation'])) { details.useVersion "26.1.0"} 
    } 
} 

這避免了移除所有支持Android庫,從而導致其缺少依賴/失敗gradle這個同步插件的問題。