0

我有一个使用许多模块的应用程序,例如facebookSDKlinkedInSDK。我需要添加一个使用volley库的模块,该库也用于linkedInSDK.

它构建成功,但导致:

Error:Execution failed for task ':splashActivity:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value 2

这个错误。

应用程序构建.gradle:

compile(name: 'app-debug', ext: 'aar')
compile 'com.android.support:support-v4:22.2.0'
compile 'com.mcxiaoke.volley:library:1.0.17@aar'
compile 'com.android.support:appcompat-v7:22.2.0'

linkedInSDK build.gradle:

compile 'com.android.support:support-v4:18.0.0'
compile files('libs/volley.jar')

如您所见,它们都使用 volley 库。当我删除其中一个时,它会cannot be resolved在该模块中引发错误。

我试过了

defaultConfig {

        multiDexEnabled true
}

它没有用。

app 和linkedInSDK 模块都需要volley 库。如何成功构建和运行它

4

2 回答 2

0

我认为 'gradle' foram 上存在一些解决方案。你能试试这个吗?

dependencies {

   compile('packageName:name:version') {

   //excluding a particular transitive dependency:
   exclude module: 'name of excluing package' //by artifact name
   }
}

“快乐编码……!!!”

于 2015-08-24T14:03:14.500 回答
0

我通过将我的全新模块移动到 linkedInSDK 并启用 multiDex 解决了这个问题。所以我看到我有两个问题,第一个是我的项目超过 65k 需要 multiDex 的方法,以及 linkedInSDK 和新 SDK 之间的库冲突。

所以这里是我的linkedInSDK\build.gradle:

dependencies {
compile files('libs/volley.jar')
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:appcompat-v7:22.2.0'
//compile 'com.mcxiaoke.volley:library:1.0.17'
compile(name: 'app-debug', ext: 'aar')

}

repositories {
    flatDir {
        dirs 'libs'
    }
}

所以 volley 库在同一个模块中使用没有冲突。耶!

于 2015-08-28T06:19:32.963 回答