我這個錯誤stucking試圖建立我的PhoneGap項目plugin.xml中添加一個「排除模塊」規則的條目科爾多瓦
據我所知這個錯誤,因爲有一個庫在項目中設置兩次。 檢查我所有的圖書館,我發現只有一個庫,導致此
<framework src="com.android.support:design:23.4.0"/>
(在我的插件之一找到)的事情是,我可以設置在plugin.xml文件中排除模塊規則? 我想我需要排除com.android.supportv4
我這個錯誤stucking試圖建立我的PhoneGap項目plugin.xml中添加一個「排除模塊」規則的條目科爾多瓦
據我所知這個錯誤,因爲有一個庫在項目中設置兩次。 檢查我所有的圖書館,我發現只有一個庫,導致此
<framework src="com.android.support:design:23.4.0"/>
(在我的插件之一找到)的事情是,我可以設置在plugin.xml文件中排除模塊規則? 我想我需要排除com.android.supportv4
最後我決定,我不得不創建我的插件包含如下的集結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" />
我會強烈建議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這個同步插件的問題。
很好的發現!在您的插件的哪個目錄中創建了build-extras.gradle文件? –