2017-04-12 20 views
0

私のアプリケーションにサードパーティの2つのSDKを含める必要があります。私はそれらをMavenリポジトリから取得します。私は私のプロジェクトで余分なモジュールを作りました。コンパイルの依存関係から.classファイルを除外します

Error:Execution failed for task ':app:transformClassesWithJarMergingForLocalDebug'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/abc/model/DataModel.class 

だから、これDataModel.classファイルは両方のSDKである:私はこのエラーを取得するプロジェクトがビルドする

dependencies { 
    compile('com.abc:abcFirstSdk:[email protected]') { 
     exclude module: 'support-v4' 
     exclude module: 'support-compat' 
     exclude module: "support-annotations" 
     transitive = true 
    } 
    compile('com.abc:abcSecondSdk:[email protected]') { 
     exclude module: 'support-v4' 
     exclude module: 'support-compat' 
     exclude module: "support-annotations" 
     transitive = true 
    } 
} 

:このモジュールのbuild.gradleファイルでは、私はこれを置きます。私はどのようにして2番目のものから除外できますか?

答えて

0

@aarqualifierと指定しているため、AARファイルディレクトリが表示されます。

例:(GAV @ Q - Group Artifact Id/Name - Version @ Qualifier)は、依存関係に依存しません。あなたは、単一のmoduleを削除しようとしているが、あなたは、単一のAARファイルではなく、実際のMavenの依存関係自体にそれを使用しているexclude moduleを使用することにより

実際の依存関係を投稿できますか?そうでない場合は、@aarを削除してみてください。

出典:

+0

2つのライブラリabcFirstSdkとabcSecondSDKは、私は私のプロジェクトに追加する必要があり、同じサードパーティの会社からのライブラリです。 1つのプロジェクトに両方のライブラリを追加する方法に関するドキュメントはありません。私は、会社が両方のライブラリでDataModel.classファイルを使用していて、競合が発生していると思います。 "@aar"を削除しても問題は解決しません。どの義務を私は掲示するのですか? – zacfo

関連する問題