Android Studio更新導致Program type already present:的問題以及如下描述。R檔案丟失問題
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).
error:resource android:attr/colorError not found.
error:resource android:attr/colorError not found.
error:style attribute "android:attr/keyboardNavigationCluster" not found.
error:resource android:attr/fontStyle not found.
error:resource android:attr/font not found.
error:resource android:attr/fontWeight not found.
解決辦法:https://blog.csdn.net/u012862619/article/details/80475908
- 方法一
將build.gradle
中的所有support
依賴改為27.1.1
implementation 'com.android.support:appcompat-v7:27.1.1'
- 1
- 方法二
如果以上方法不行,在dependencies{}
完成後做相關配置
configurations {
all*.exclude group: 'com.android.support', module: 'support-v13'
}
方法三:
仔細檢視 錯誤資訊Program type already present:後面的提示(看是哪個包中的錯誤),將對應包遮蔽,例如:
implementation(
implementation('com.android.support:recyclerview-v7:27.1.0', { exclude group: 'com.android.support', module: 'design'})
implementation('com.android.support:cardview-v7:27.1.0', { exclude group: 'com.android.support', module: 'design'})
方法四:檢視app的build.gradle是否只有一個v7包,在後邊加上對應版本的design包。再不行的話接著加v4包,再不行接著加cardview包,再不行加recycleview包。
implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:design:27.1.1' implementation 'com.android.support:support-v4:27.1.1' implementation 'com.android.support:cardview-v7:27.1.1'
☆☆☆☆☆☆☆☆☆☆☆☆☆☆我是通過方法四解決的。
Error:Execution failed for task ':app:processDebugManifest'
出現標題的問題,我遇到有幾種情況,簡單說明下解決方法:
第一種
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#[email protected] value=(@xml/filepaths) from AndroidManifest.xml:393:17-50
is also present at [com.jph.takephoto:takephoto_library:4.0.3] AndroidManifest.xml:24:17-51 value=(@xml/file_paths).
Suggestion: add 'tools:replace="android:resource"' to <meta-data> element at AndroidManifest.xml:391:13-393:53 to override.
看到上面錯誤說明相信大家也明白為什麼報錯,造成這個問題的原因是,我在自己的應用中使用了FileProvider,然而依賴庫中也是用了FileProvider,所以造成了這個問題的出現,按照提示進行修改,就不會再儲存了Android 從 N 開始不允許以 file:// 的方式通過 Intent 在兩個 App 之間分享檔案,取而代之的是通過 FileProvider 生成 content://Uri 。如果在 Android N 以上的版本繼續使用 file:// 方式分享檔案,則系統會直接丟擲異常,導致 App 出現 Crash
第二種
使用FileProvider的相關配置後,Manifest檔案中許可權重複也出現了這種問題,去重就好了
第三種
就是依賴的庫的targetSdkVersion和主module的targetSdkVersion版本號不一致導致的,需要統一下,所以要注意系統的適配
第四種
Manifest merger failed with multiple errors, see logs
出現這個錯誤的原因是:多個module的Manifest檔案中application標籤中的屬性因為相同從而衝突,解決方法:在主module(也就是app)中 Manifest 為application標籤加如下屬性:tools:replace="android:icon,android:theme,android:allowBackup",前提是根標籤要有:xmlns:tools="http://schemas.android.com/tools"
關於FileProvider的使用網上有很多,這裡不多講,可以看看這個:http://blog.csdn.net/duanyy1990/article/details/68961159
問題1:
Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs
在網上查到了一些這個問題的解決辦法:
方法一:
1)在Manifest根標籤加上 xmlns:tools="http://schemas.android.com/tools"
2)<user-sdk tools:overrideLibrary="自己需要強制替換的庫"/>
3)在Manifest.xml的application標籤下新增 tools:replace="android:icon, android:label,android:theme"
方法二:
在build.gradle根標籤上加上useOldManifestMerger true (懶人方法)
但是上邊的方法並沒有解決我的問題,後來通過檢查AndroidManifest.xml檔案,發現、
<meta-data android:name="UMENG_APPKEY" android:value="*****">
被重複聲明瞭兩次,去掉其中一個就可以了,問題解決。
問題2:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.>
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v7/appcompat/R$anim.class
報了這個問題,因為v7包衝突的問題,檢測了整個專案,發現v7並沒有衝突。後來再網上看到說是因為gradle wrapper的問題。 在專案根目錄下執行命令:gradlew clean即可(./代表根目錄)。問題3:
RecyclerView在更新資料是,出現:java.lang.IllegalArgumentException Scrapped or attached views may not be recycled. isScrap:false isAttached:true
問題是因為在獲取新資料事將資料集合清除了,但是沒有notifyDataSetChanged.可以將清除集合操作在獲取資料之後將原來的集合清除,然後再將新資料加到集合中呼叫adapter的notifyDataSetChanged()方法.問題4:
最近一個朋友問我一個問題:Toast中的內容不居中顯示,一開始他傳入的Context是Activity,我讓他修改成getBaseContext()、getApplicationContext()都不行。後來查詢到在Application 配置的主題中設定了fitsSystemWindows=true ,註釋掉就可以了。
問題5:
最近以為群友出現了一個問題:Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not requestWindow.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
提示新增toolbar失敗,已經存在了actionbar。
解決辦法:
方式一:將主題替換為NoTitleBar主題;
方式二:將當期主題的notitle設定為true;
相關推薦
Android Studio更新導致Program type already present:的問題以及如下描述。R檔案丟失問題 Error:Execution failed for task ':app:processDebugManifest'
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 27.1.1,
Android Studio更新導致Program type already present: android.support.design.widget.CoordinatorLayout$1
Android Studio 升級到3.1後,打包時會出現該錯誤。出現該錯誤的原因是各種support包相互衝突(design包版本衝突)。 網上少了一些方法,不過好像沒啥用(可能大家引入的
Android Studio更新導致Program type already present:的問題以及如下描述。R檔案丟失問題
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versi
Android Studio 編譯: Program type already present: XXX 解決方案
情況1:個例 build.gradle 中 dependencies { classpath 'com.android.tools.build:gradle:3.1.1' // } 改成 dependenc
Android. 依賴衝突 Program type already present
目錄 常用引用: 解決方案: 在實際開發中,為了提高開發速度和效率,避免不了引用第三方提供的依賴和類庫,如果含有相同依賴的類庫被我們引用時,而他們的版本又不相同,就有可能會導致一系列問題和異常: 常用引用: 網路相關:okhttp、retrofit、http
Error: Program type already present: android.support.v4.app.FragmentTransitionCompat21$1
參考連結 https://stackoverflow.com/questions/52845161/error-program-type-already-present-android-support-v4-app-fragmenttransitionco 主要原因: gra
Error: Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInf
報錯原因:v4包衝突 配置ButterKnife過程中報錯(與support-v4包衝突,Program type already present: android.support.v4..) 解決 上github上原始碼那裡查了一下,在根目錄的build.gradle可以看到
android Error: Program type already present: com.alibaba.android.arouter.routes.ARouter$$Group$$blog
這個問題的原因在與不同的module中的RouterPah的 一級名字相同造成的,或者專案中出現了相同的路徑。 比如專案結構是app ,moudleA,moduleB, 那麼moudleA 如果出現的路徑名是:"/module/test/testvideo",moduleB中出現了路徑名:"
解決Error: Program type already present: android.support.design.widget.CoordinatorLayout$Behavior
我專案中的build.gradle中本來是如下依賴 implementation 'com.android.support:appcompat-v7:27.1.1' 但是一旦編譯或執行就會出現這個錯誤 Error: Program type already present: androi
Compilation failed to complete:Program type already present: android.support.v4.accessibilityservice
.Compilation failed to complete .Program type already present:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompatM
Android解決依賴衝突:Program type already present
今天在編譯專案時,報錯: Program type already present: android.content.pm.IPackageDeleteObserver 就是依賴衝突,後來解決就是 雙擊shift,全域性查詢衝突的這個IPackageDeleteObserve ,發現
報錯Error : Program type already present: android.support.design.widget.CoordinatorLayout$
方法一 support依賴版本改為27.1.1並新增一下配置 implementation 'com.android.support:appcompat-v7:27.1.1' configur
android 配置報錯:Program type already present: android.support.v4.app.BackStackRecord$Op
最近在整理公司的一些專案,總結做過的專案檔案,每次從svn下載下來的專案 都會報錯,其他小問題 就不一一說了,見招拆招,碰到兩個頭疼的問題,最後發現 解決辦法是一樣 在這裡,跟大家分享一下,如果,你知道,可以忽略,錯誤:Program type already present
配置ButterKnife過程中報錯(與support-v4包衝突,Program type already present: android.support.v4..)解決
今天沒什麼任務,就想試著用一下butter knife,。雖然很早就聽說過,但是一直沒用過,所以打算試著用一下,看看利弊。我遇到的報錯是這樣的:我配置的support-v4跟butterknife中support-v4版本不一致,因為如果我把butterknife注掉的話就不
Program type already present: android.support.v4.app.backstackrecord$Op
除錯過程中如果出現上述錯誤 最好的解決辦法是把build.gradle檔案中的下面部分:dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.sup
Program type already present: android.support.v13.view.DragAndDropPermissionsCompat
今天在繼承GreenDao時遇到這個問題,這個問題不常見,記錄下來希望能夠幫到大家,解決方式:在gradle中的dependencies 中新增configurations { all*.exclude group: 'com.android.support', mo
Program type already present:okio.AsyncTimeout$Watchdog Message{kind=ERROR, text=Program type :okio
有兩個okio 通過雙擊shift鍵盤,然後在輸入框裡面輸入AsyncTimeout,發現是因為有兩個okio.jar包,手動暴力刪除後就好了 然而過了幾天問題又重新出現了,一樣的問題,沒錯!就是下圖的這個問題 經過不懈的谷歌,終於找到了解決方案(在app下的build檔案下的andr
Program type already present: com.baidu.lbsapi.auth.ErrorMessage
百度地圖開發的時候遇到的問題,因為百度地圖不知道從什麼時候開始下載過來的SDK是包含了他們demo中用到的一些框架,所以哪個框架是有用的哪個是沒用的傻傻分不清,比如一般常用的jar包是BaiduLBS_Android.jar,這個jar包包含了百度地圖大部分功能開發所需,我在
Program type already present: com.google.gson.FieldAttributes
錯誤如下圖 問題原因:工程重複引用了gson的jar包所致。 解決辦法:在build.gradle的dependencies中加入程式碼:作用就是去除重複gson包 dependencies
android studio 更新 Gradle錯誤解決方法(Gradle sync failed)
app 是我 clear 聯網 建議 span 內容 roi file android studio 更新 Gradle錯誤解決方法 Android Studio每次更新版本都會更新Gradle這個插件,但由於長城的問題每次更新都是失敗,又是停止在Refre