2016-05-09 4 views
1

Androidアプリに2つのモジュール、applibraryがあります。 applibraryAndroidスタジオで2つの異なるモジュールを作成する方法Gradle経由で同じライブラリの異なるバージョンを使用する

私は4.0.0にアップグレードすると、変更の膨大な量を必要とするので、彼らは非常にそれを変更したとして、現在、 AndroidAnnotations 3.2.2を使用したい appAndroidAnnotations 4.0.0

を使用したいlibrary

に依存しますロット、私は今これを行う時間がありません。

しかし、これまで私がAndroidAnnotations 4.0.0、それは私がGradleのは本当にスマートだったとappのバージョン3を無視していることだと思いますし、使用している、いないバージョン3は、バージョン4にあるようapp振る舞うでAndroidAnnotationsの使用を使用するlibraryをアップグレードしたので、両方のモジュールのバージョン4。

どのようにしてgradleで2つの異なるバージョンの依存関係を使用することができますか?

+0

名前空間の衝突がありますので、あなたは2つの異なるバージョンを持つことはできません。可能な唯一の方法は、バージョンの1つを自分自身で再パッケージ化し、クラッシュしないようにクラスのパッケージ名を変更することです。 –

答えて

0

forceコマンド

build.gradle(APP)を使用して、別のオーバー依存バージョンの使用を強制:

dependencies { 
    compile ('com.squareup.okhttp:okhttp:2.4.0') { 
     force = true 
    } 
    ... 
} 

build.gradle(ライブラリ):ここ

dependencies { 
    compile 'com.squareup.okhttp:okhttp:2.3.0' 
    ... 
} 

からの抜粋でありますリンクが無効になった場合のドキュメント:

特定のバージョンの依存関係(推移的な の依存関係を含む)を強制できます。依存関係を解決するときに考慮する新しい強制モジュールを追加します。

これは、次の表記法を受け入れ:

String in a format of: 'group:name:version', for example: 'org.gradle:gradle-core:1.0' 
instance of ModuleVersionSelector 
any collection or array of above will be automatically flattened 
関連する問題