在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Android  網(wǎng)絡安全/ Android External Libraries中多余的各種support庫

Android External Libraries中多余的各種support庫

問題是這樣發(fā)生的,我在項目中有用到RecycleView然后我就引入了他,但是gradle報錯,具體的意思是:

  1. RecycleView的支持庫的版本號和其他庫不一致,找到了其他的版本號云云,應該使用一致的版本號來避免編譯報錯。
  2. 當前的RecycleView的版本號(28.x.x),高于編譯版本號(26)。

我嘗試著把RecycleView的版本號改成和當前編譯版本相同的版本號,來修復上面的2號問題,但是之后的第一個問題還是存在,我嘗試打開了 Android Studio 左側欄的, External Libraries 查看到了不同的版本號,如下圖:

clipboard.png

但是在我的build.gradle中根本沒有導入這些支持庫呀,難道是我依賴了其他的庫,然后其他庫依賴了這些庫導致被引入的嗎?

然后我嘗試著將這些版本不一致的support庫,一個一個的添加到build.gradle中,并且明確指定其版本號為26.1.0

    api "org.jetbrains.anko:anko:$anko_version"
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    //Rx系列
    api "io.reactivex.rxjava2:rxjava:$rxjava_version"
    api "io.reactivex.rxjava2:rxandroid:$rxandroid_version"

    //Retrofit框架 和 okhttp框架
    api "com.squareup.retrofit2:retrofit:$retrofit_version"
    api "com.squareup.retrofit2:converter-gson:$retrofit_version"

    //api "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
    api "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"

    //okHttp
    api "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
    api "com.squareup.okhttp3:okhttp:$okhttp_version"

    //dagger2
    compile "com.google.dagger:dagger:$dagger2_version"
    kapt "com.google.dagger:dagger-compiler:$dagger2_version"

    //RxLifeCycle
    api "com.trello.rxlifecycle2:rxlifecycle-kotlin:$rx_lifecycle_version"
    api "com.trello.rxlifecycle2:rxlifecycle-components:$rx_lifecycle_version"

    //Glide
    api "com.github.bumptech.glide:glide:$glide_version"
    kapt "com.github.bumptech.glide:compiler:$glide_version"

    //由于導入支持庫之后,版本不一致導致編譯不通過?,F(xiàn)在統(tǒng)一所有支持庫的版本號一致為:26.1.0
    api "com.android.support:animated-vector-drawable:26.1.0"
    api "com.android.support:appcompat-v7:26.1.0"
    api "com.android.support:support-core-utils:26.1.0"
    api "com.android.support:support-annotations:26.1.0"
    api "com.android.support:support-compat:26.1.0"
    api "com.android.support:support-core-ui:26.1.0"
    api "com.android.support:support-fragment:26.1.0"
    api "com.android.support:support-v4:26.1.0"
    api "com.android.support:recyclerview-v7:26.1.0"

由于是用Android Studio 3.0.1在Deepin linux系統(tǒng)上操作的,當時我就沒管了,今天來公司,用公司 Windows 10上面的Android Studio 3.3導入 之后這些不同版本號的庫依舊存在于External Libraries中,每個庫都有2分,而且版本號不一致。

clipboard.png

請問大佬們,怎么解決這個問題啊,我是多Module模式,使用的api方式引入, 會不會是這方面的問題? 求解!~~~

回答
編輯回答
魚梓

在Gradle中強制指定依賴版本就行

configurations.all {
   resolutionStrategy {
       force 'com.android.support:recyclerview-v7:26.1.0'
   }
}
2017年5月27日 19:02
編輯回答
糖豆豆

改成implementation

2017年3月27日 12:40