成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中添加fragment后版本不兼容怎么解決-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“Android中添加fragment后版本不兼容怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

托克遜ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

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

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

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

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.

搜了一下,七七八八說什么的都有。最不靠譜的一個就是說什么把manifest文件里的標簽從android:name改成class的。看日志明顯是和版本有關?。『髞斫K于找到個和版本兼容有關的解決方案,要在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'
      }
    }
  }
}

試了一下確實好了。但不能滿足于此。

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

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'

鼠標指上去提示:

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的庫必須使用一樣的版本!看看Dependency里,com.android.support:appcompat-v7:26.0.0-beta1和com.android.support:support-v4:26.1.0兩個版本就是矛盾的??!看一下git的記錄,26.1.0這一行就是新加的,肯定就是新建BlankFragment類的時候AndroidStudio自動添加的。再回頭看看出錯日志,說的不也是同一個意思?

“Android中添加fragment后版本不兼容怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)頁題目:Android中添加fragment后版本不兼容怎么解決-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article10/ccjido.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、品牌網(wǎng)站建設、品牌網(wǎng)站制作、Google、定制網(wǎng)站、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
萝北县| 美姑县| 昌黎县| 耒阳市| 黑水县| 泸定县| 武宁县| 永吉县| 九龙城区| 阿勒泰市| 石阡县| 偃师市| 任丘市| 丰都县| 玉屏| 政和县| 武胜县| 建宁县| 壤塘县| 昌江| 永新县| 蒙山县| 昭苏县| 武平县| 龙泉市| 乐陵市| 会同县| 吉首市| 金溪县| 中牟县| 温州市| 东宁县| 林甸县| 贡山| 太白县| 凉山| 新源县| 湘阴县| 肥东县| 金秀| 东乡县|