Android proguard同一个jar指定了两次

时间:2015-03-30 09:55:50

标签: android proguard

我有一个项目,在libraries文件夹中有两个依赖项目。两者都是我写的图书馆。 错误:任务执行失败':app:proguardgmobileRelease'。

  

java.io.IOException:指定了两次相同的输入jar [/ Users / Jon / android-app-manager / app / libs / **]。

主要项目依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'com.squareup.okhttp:okhttp:2.2.0'
    compile 'com.google.code.gson:gson:2.3'
    compile 'commons-io:commons-io:2.0.1'
    compile 'org.roboguice:roboguice:3.0.1'
    provided 'org.roboguice:roboblender:3.0.1'
    compile 'com.google.code.findbugs:jsr305:1.3.9'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile project(':android-commons')
    compile project(':ormlitewrapper')
    compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') {
        transitive = true;
    }
}

android-commons项目依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.squareup.okhttp:okhttp:2.2.0'
    compile 'com.google.code.gson:gson:2.3'
    compile 'commons-io:commons-io:2.0.1'
    compile 'com.google.android.gms:play-services-base:6.5.87'
}

OrmLiteWrapper项目依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.j256.ormlite:ormlite-android:4.48'
    compile 'com.j256.ormlite:ormlite-core:4.48'
    compile project(':android-commons')
}

主项目编译2子项目,ormLiteWrapper也编译android-commons。我无法消除依赖关系,也不知道在哪里可以找到循环依赖的解决方案。它应该在一个地方定义并在另一个地方引用吗? 该问题仅在生成发布APK时产生冲突。

1 个答案:

答案 0 :(得分:4)

请勿在您的proguard文件中使用-libraryjars-injar-oujar