9

アプリをコンパイルするときに問題があります。

予期しないトップレベルの例外: java.lang.IllegalArgumentException: already added`

android-support-v4.jar のエラーのようです。

私のプロジェクトには、appcompat、facebook、google_play_services の 3 つのライブラリがあります。

私のgradleファイル:

  • AppProject/settings.gradle

    include ':libraries:google_play_services', ':libraries:appcompat', ':libraries:facebook', ':app'
    
  • AppProject/build.gradle :

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.5.+'
        }
    }
    
  • AppProject/app/build.gradle:

    apply plugin: 'android'
    
    dependencies {
        compile project(':libraries:appcompat')
        compile project(':libraries:facebook')
        compile project(':libraries:google_play_services')
        compile files('libs/android-async-http-1.4.3.jar')
        compile files('libs/gson-2.2.4.jar')
        compile files('libs/libGoogleAnalyticsV2.jar')
        compile files('libs/universal-image-loader-1.8.4.jar')
        compile files('libs/urbanairship-lib-3.0.0.jar')
    }
    
  • AppProject/libraries/appcompat/build.gradle:

    apply plugin: 'android-library'
    
    dependencies {
        compile files('libs/android-support-v4.jar')
        compile files('libs/android-support-v7-appcompat.jar')
    }
    
  • AppProject/libraries/facebook/buidle.gradle:

    apply plugin: 'android-library'
    
    dependencies {
        compile files('libs/android-support-v4.jar')
    }
    
  • AppProject/libraries/google_play_services/buidle.gradle:

    apply plugin: 'android-library'
    
    dependencies {
        compile files('libs/google-play-services.jar')
    }
    

しかし、コンパイルすると、次のエラーが表示されます。

Output:
        UNEXPECTED TOP-LEVEL EXCEPTION:
        java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/NotificationCompatIceCreamSandwich;

手伝って頂けますか?

4

4 に答える 4

8

私は問題を見つけました:

AppProject/settings.gradle

include ':libraries:facebook', ':app'

AppProject/libraries/facebook/build.gradle

apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
}

AppProject/app/build.gradle

apply plugin: 'android'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.google.android.gms:play-services:3.1.36'

    compile project(':libraries:facebook')
    compile files('libs/android-async-http-1.4.3.jar')
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/libGoogleAnalyticsV2.jar')
    compile files('libs/universal-image-loader-1.8.4.jar')
    compile files('libs/urbanairship-lib-3.0.0.jar')
}
于 2013-07-30T13:43:52.167 に答える
6

Prcaenの答えの主なアイデアは、次を使用することです:

compile 'com.android.support:support-v4:18.0.0'

代わりに依存関係セクション内:

compile files('libs/google-play-services.jar')

重複問題を解決できます。そして、そうです!

于 2013-12-12T07:11:03.760 に答える
2

プロジェクトに jar ファイルが 2 回含まれている可能性があります。[ファイル] -> [プロジェクト構造] に移動して、2 つの同一のモジュールまたはライブラリがあるかどうかを確認してください。

于 2013-07-30T13:25:53.037 に答える