亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于Android添加fragment后版本不兼容問題

 更新時(shí)間:2017年12月21日 13:39:11   作者:Michaelbest1  
這篇文章主要介紹了Android添加fragment后版本不兼容問題的解決方法,需要的朋友可以參考下

Fragment的產(chǎn)生與介紹

Android運(yùn)行在各種各樣的設(shè)備中,有小屏幕的手機(jī),超大屏的平板甚至電視。針對(duì)屏幕尺寸的差距,很多情況下,都是先針對(duì)手機(jī)開發(fā)一套App,然后拷貝一份,修改布局以適應(yīng)平板神馬超級(jí)大屏的。難道無(wú)法做到一個(gè)App可以同時(shí)適應(yīng)手機(jī)和平板么,當(dāng)然了,必須有啊。Fragment的出現(xiàn)就是為了解決這樣的問題。你可以把Fragment當(dāng)成Activity的一個(gè)界面的一個(gè)組成部分,甚至Activity的界面可以完全有不同的Fragment組成,更帥氣的是Fragment擁有自己的生命周期和接收、處理用戶的事件,這樣就不必在Activity寫一堆控件的事件處理的代碼了。更為重要的是,你可以動(dòng)態(tài)的添加、替換和移除某個(gè)Fragment。

昨天學(xué)習(xí)了下Android的Fragment。按照官網(wǎng)的教程,新建了一個(gè)類BlankFragment,繼承自Fragment。然后編譯的時(shí)候就出錯(cuò)了:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-beta1) from [com.android.support:design:26.0.0-beta1] AndroidManifest.xml:28:13-41
  is also present at [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value=(26.1.0).
  Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:26:9-28:44 to override.

搜了一下,七七八八說什么的都有。最不靠譜的一個(gè)就是說什么把manifest文件里的標(biāo)簽從android:name改成class的??慈罩久黠@是和版本有關(guān)啊!后來終于找到個(gè)和版本兼容有關(guān)的解決方案,要在app目錄下的build.gradle里添加如下代碼才可以:

configurations.all {
  resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
      if (!requested.name.startsWith("multidex")) {
        details.useVersion '26.0.0-beta1'
      }
    }
  }
}

試了一下確實(shí)好了。但不能滿足于此。

注意到,就在添加的這段代碼上面,描述的是工程依賴的庫(kù):

dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
  implementation 'com.android.support.constraint:constraint-layout:1.0.2'
  implementation 'com.android.support:design:26.0.0-beta1'
  implementation 'com.android.support:support-v4:26.1.0'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'com.android.support.test:runner:0.5'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
}

而這一行下面有紅線:

implementation 'com.android.support:appcompat-v7:26.0.0-beta1'

鼠標(biāo)指上去提示:

All com.android.support libraries must use the exact same version specification 
(mixing versions can lead to runtime crashes). 
Found versions 26.1.0, 26.0.0-beta1. Examples include com.android.support:support-compat:26.1.0 
and com.android.support:animated-vector-drawable:26.0.0-beta1

這不是說的很明白:所有依賴com.android.support的庫(kù)必須使用一樣的版本!看看Dependency里,com.android.support:appcompat-v7:26.0.0-beta1和com.android.support:support-v4:26.1.0兩個(gè)版本就是矛盾的啊!看一下git的記錄,26.1.0這一行就是新加的,肯定就是新建BlankFragment類的時(shí)候AndroidStudio自動(dòng)添加的。再回頭看看出錯(cuò)日志,說的不也是同一個(gè)意思?

不得不吐槽一下AndroidStudio,你既然要自動(dòng)加版本依賴,就把版本兼容性也一起檢查了唄。不然還不如不要加,讓我們自己來。最討厭這種半自動(dòng)化的東西,最坑人。

另外,gradle文件的語(yǔ)法也挺有意思。注釋是C/C++的風(fēng)格,函數(shù)聲明是Python的風(fēng)格,Lambda表達(dá)式又有點(diǎn)像C#的。

總結(jié)

以上所述是小編給大家介紹的關(guān)于Android添加fragment后版本不兼容問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android應(yīng)用內(nèi)懸浮窗Activity的簡(jiǎn)單實(shí)現(xiàn)

    Android應(yīng)用內(nèi)懸浮窗Activity的簡(jiǎn)單實(shí)現(xiàn)

    懸浮窗相信大家應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Android應(yīng)用內(nèi)懸浮窗Activity簡(jiǎn)單實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • 淺談Flutter解析JSON三種方式

    淺談Flutter解析JSON三種方式

    這篇文章主要介紹了淺談Flutter解析JSON三種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Android 進(jìn)程間通信實(shí)現(xiàn)原理分析

    Android 進(jìn)程間通信實(shí)現(xiàn)原理分析

    只有你允許客戶端從不同的應(yīng)用程序?yàn)榱诉M(jìn)程間的通信而去訪問你的service,以及想在你的service處理多線程,下面為大家詳細(xì)介紹下
    2013-06-06
  • Android Studio自動(dòng)生成UML關(guān)系圖的方法步驟

    Android Studio自動(dòng)生成UML關(guān)系圖的方法步驟

    本文主要介紹了Android Studio自動(dòng)生成UML關(guān)系圖,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android 將 android view 的位置設(shè)為右下角的解決方法

    Android 將 android view 的位置設(shè)為右下角的解決方法

    Android 將 android view 的位置設(shè)為右下角的解決方法,需要的朋友可以參考一下
    2013-05-05
  • android使用RxJava實(shí)現(xiàn)預(yù)加載

    android使用RxJava實(shí)現(xiàn)預(yù)加載

    這篇文章主要為大家詳細(xì)介紹了android使用RxJava實(shí)現(xiàn)預(yù)加載的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android面向單Activity開發(fā)示例解析

    Android面向單Activity開發(fā)示例解析

    這篇文章主要為大家介紹了Android面向單Activity開發(fā)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • iOS UIButton 點(diǎn)擊無(wú)響應(yīng)的解決辦法

    iOS UIButton 點(diǎn)擊無(wú)響應(yīng)的解決辦法

    在開發(fā)中按鈕我們經(jīng)常會(huì)遇到,但是有時(shí)候會(huì)碰到一些難以處理的問題,就是按鈕點(diǎn)擊無(wú)響應(yīng),其實(shí)解決方法也不難。下面小編之家小編抽空給大家介紹iOS UIButton 點(diǎn)擊無(wú)響應(yīng)的解決辦法,需要的朋友參考下吧
    2017-12-12
  • Android仿微信多人音視頻通話界面

    Android仿微信多人音視頻通話界面

    這篇文章主要為大家詳細(xì)介紹了Android仿微信多人音視頻通話界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android Shape控件美化實(shí)現(xiàn)代碼

    Android Shape控件美化實(shí)現(xiàn)代碼

    本文主要介紹Android Shape 控件的美化, 大家在開發(fā)Android程序的時(shí)候?qū)ο到y(tǒng)自帶的控件進(jìn)行修改,這里給大家一個(gè)實(shí)例,供大家參考
    2016-07-07

最新評(píng)論