1. 程式人生 > >Android 開發過程中遇到的問題Error:Execution failed for task ':app:processDebugManifest'

Android 開發過程中遇到的問題Error:Execution failed for task ':app:processDebugManifest'

在開發過程中遇到了這樣一個問題:

問題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;  

希望大家也覺得有用。