由于我需要购买真实物品,因此我正在尝试向我的Unity应用添加脑树服务。
我能够在一个空白的android项目中使用ui并创建一个处理它的模块。但是,每当我尝试添加必要的aar文件时,我都会遇到gradle构建问题。
我已将项目导出到android studio,以获得更全面的错误代码和对gradle的精细控制。
但是gradle的任何配置仍然给我一个已经存在的程序类型。
这是我对Gradle文件的依赖
apply plugin: 'com.android.application'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation(name: 'android-maps-utils-0.5', ext:'aar')
implementation(name: 'google-maps-view-lib-release', ext:'aar')
implementation(name: 'play-services-base-11.0.2', ext:'aar')
implementation(name: 'play-services-basement-11.0.2', ext:'aar')
implementation(name: 'play-services-maps-11.0.2', ext:'aar')
implementation(name: 'play-services-tasks-11.0.2', ext:'aar')
implementation(name: 'support-compat-25.2.0', ext:'aar')
implementation(name: 'support-core-ui-25.2.0', ext:'aar')
implementation(name: 'support-core-utils-25.2.0', ext:'aar')
implementation(name: 'support-fragment-25.2.0', ext:'aar')
implementation(name: 'support-media-compat-25.2.0', ext:'aar')
implementation 'com.braintreepayments.api:braintree:2.20.0'
implementation ('com.braintreepayments.api:drop-in:3.2.1')
{
exclude group: 'com.android.support.annotation'
exclude module: 'com.android.support.v4.app'
exclude module: 'com.android.support.v4.media'
exclude module: 'com.android.support:support-v4:28.0.0'
exclude group: 'support-v4'
exclude module: 'support-v13'
}
//implementation(name: 'support-v4-25.2.0', ext:'aar')
}
我得到的是:
错误:程序类型已存在:android.support.v4.media.MediaBrowserCompat $ MediaBrowserImplApi21 $ 1
答案 0 :(得分:0)
使用以下命令分析重复的依存关系。
./gradlew app:dependencies
请注意,implementation 'com.braintreepayments.api:braintree:2.20.0'
也取决于android.support.v4
。因此,也尝试排除它。
对于冲突依赖版本,您可以如下指定强制版本:
configurations.all {
resolutionStrategy {
force "com.android.support:support-v4:26.0.0"
}
}
答案 1 :(得分:0)
找到了解决方案!
只需编辑播放服务解析器即可添加到braintree插件中,而不是手动或使用gradle进行添加。它设法分离出所有单个组件并解决了冲突!
感谢您的回复
我遵循了此解决方案Gradle dependencies on Unity。