首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 打包 APK 報錯:libs 下重複 Jar(android-support-v4 衝突)刪除多餘即可

     編輯:程式設計綜合問答

引入第三方專案後生成 APK 失敗,錯誤提示 Duplicate class 或 Program type already present。經排查是 libs/ 目錄下同時存在 android-support-v4.jar 與 Gradle 依賴的 com.android.support:support-v4,類重複導致。

錯誤現象

Error: Program type already present: android.support.v4.app.Fragment

解決步驟

  1. 打開專案視圖,展開 app/libs/。
  2. 刪除 android-support-v4.jar(或任何與 Gradle 依賴同包名的 jar)。
  3. Build → Clean Project → Rebuild。

根本原因

早期 Eclipse/ADT 專案習慣把 Support Library 放入 libs/;遷移到 Android Studio/Gradle 後,implementation "com.android.support:support-v4:28.0.0" 會從 Maven 下載同一套類,兩邊合併打包時衝突。

避坑指南

  • 遷移專案第一步:清空 libs/ 所有官方庫 jar,改用 Gradle 依賴座標。
  • 第三方私有 jar 保留,但檢查是否已發布到 Maven,優先用坐標引用。
  • 啟用 android { packagingOptions { exclude 'META-INF/DEPENDENCIES' ... } } 解決 META-INF 衝突。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved