1. 程式人生 > >Android studio打包混淆編譯的時候出現異常:transformClassesAndResourcesWithProguardForRelease

Android studio打包混淆編譯的時候出現異常:transformClassesAndResourcesWithProguardForRelease

具體異常資訊擷取如下:

Browser/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/7.8.0/jars/classes.jar(;;;;;;**.class)] (Duplicate zip entry [com/google/android/gms/ads/a/a.class == classes.jar:com/google/android/gms/ads/identifier/AdvertisingIdClient.class]))
大致意思是說, 有兩個引用的依賴重複依賴同一個類, 在這裡就是AdvertisingIdClient類, 在studio裡面按ctrl+N檢視, 確實有兩個相同的類, 這個類分別在不同的依賴包裡面.

檢視程式碼後得知:

在我的app/gradle檔案中有如下引入:

compile files('src/main/libs/google-play-services.jar')
這個jar是放在工程的lib檔案加下面的. 這個包含有了google廣告模組' play-services-ads'

而在我的gradle中還有這麼一句引用:

compile ('com.facebook.android:audience-network-sdk:4.8.2')
這個引入了facebook的廣告模組, 很不湊巧的是,在這個依賴中本身就含有google的廣告模組'play-services-ads', 所以一旦混淆編譯就會出現了上面的錯誤.

所以我們需要在這個compile中增加exclude, 把google的廣告模組去掉,如下:

compile ('com.facebook.android:audience-network-sdk:4.8.2'){exclude module: 'play-services-ads'}
這樣這個錯誤就沒有了.

平時如何檢視一個依賴是否包含了其他依賴呢? 使用如下命令:

./gradlew -q app:dependencies

app表示你自己的module的名稱,可自行修改

ps 一般我們使用compile方式依賴的遠端maven倉庫的依賴包或是lib下面的aar檔案, build之後會在工程的External Libraries目錄下列出來,而我們lib下面的jar就直接在lib上面可以看到相關的class檔案

相關推薦

Android studio打包混淆編譯的時候出現異常:transformClassesAndResourcesWithProguardForRelease

具體異常資訊擷取如下: Browser/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/7.8.0/jars/classes.jar(;;;;;;**.clas

Android Studio打包的時候出現"java.lang.OutOfMemoryError: GC overhead limit exceeded"

今天專案升級,在用簽名打包的時候出現了"java.lang.OutOfMemoryError: GC overhead limit exceeded"這個錯誤。 原因: JVM丟擲 java.lang.OutOfMemoryError: GC overhead limit exceeded

Eclipse工程檔案拷貝到Android Studio下,編譯出現亂碼錯誤

錯誤如截圖所示: 【錯誤原因】:Eclipse中utf-8編碼帶有BOM Header位元組,載入到Android Studio中時,被轉換為utf-16導致該問題出現,如截圖右下角所示UTF-16

帶你徹底明白 Android Studio 打包混淆

前言在使用Android Studio混淆打包時,該IDE自身集成了Java語言的ProGuard作為壓縮,優化和混淆工具,配合Gradle構建工具使用很簡單。只需要在工程應用目錄的gradle檔案中設定minifyEnabled為true即可。然後我們就可以到proguar

Android Studio打包混淆帶資源的SDK

           最近要實現一個把自己的整個應用打包成SDK接入到合作公司的應用中,剛開始是想採用外掛(如360的DroidPlugin,原理解析連結:分析DroidPlugin,深入理解外掛化框架)的形式來做,這樣的話很方便,只要提供一個apk就行了。但是問題來了,一

Android Studio打包APK時出現 is not translated in "en" (English) [MissingTranslation]

轉載於:http://blog.csdn.net/zhangh8627/article/details/47170859 解決辦法:resources 標籤內增加xmlns:tools="http://schemas.android.com/tools" tools:ign

如何使用Android Studio打包混淆的Jar

使用AS打包混淆Jar包,百度一下,一片一片的,但是很多都是零零散散的寫得不是很詳細或是直接拷貝,按照他們的教程測試總不是很順利,所以這裡我就把我個人學習AS打包混淆Jar的成果總結出來,希望對大家有幫助。個人覺得寫得還是比較詳細的 使用gradle混淆打包Jar 使

Android studio 打包異常記錄。

1. Error:Execution failed for task ':data:transformClassesAndResourcesWithSyncLibJarsForDebug'. > Type def recipe not found: G:\android_pro

Android Studio 打包出現not in translated in "zh"錯誤

出現這個錯誤的原因呢就是說對應的資原始檔的值沒有做翻譯。有一下幾種辦法可以解決: 1.在設定裡將Incomplete translation 的級別從error改成warming,不過本人親測沒有什麼用。 2.如果少部分的值不需要翻譯的話,在每一個不需要翻譯的值中新增不做翻譯的

Android Studio 打包成jar檔案並混淆程式碼

參考博文:http://www.jianshu.com/p/0a3ce6e9ab85 開展專案合作時,基於模組化思想,對方要用到你的程式,而你又不想將原始碼給對方,通常會將程式進行打包生成jar,並作混淆處理。 1、建立專案 【File】——【New Module】——【A

關於不同環境android studio 打包替換出現閃退的問題

以前都是我同事在打包,今天我也來打包,發現打出來的包執行正常,但是如果是覆蓋以前的包會出現閃退,我也是醉了,一直百度不到原因 LOG顯示大概是這樣的 Build fingerprint: 'HUAWEI/TAG-AL00/HWTAG-L6753:5.1/HU

Android studio 3.0 Appt2的異常問題 不一定需要關閉才能通過編譯

當遇到appt2異常的時候不一定是非要關閉他才能的,appt2中有一個嚴格檢查,當你打包出現簽名錯誤的時候可以看看是不是自己的程式中的圖片有過大的(超過1M)的。如果有的話這時也是會報appt2異常的,這時,需要你修改圖片才能使用。單純的更改為false是無法解

android studio 打包出現錯誤

Information:Gradle tasks [:app:assembleRelease]Error:UNEXPECTED TOP-LEVEL ERROR:Error:java.lang.OutOfMemoryError: GC overhead limit exceed

Android Studio打包以及Gradle配置構建

otto sign rac color conf wmf git var png 本文轉載 郭霖公眾號 https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650241610&idx=1&sn

Android Studio 打包生成 APK

如果 sign ext 對話 http ner 分享 技術 oid 1. 第一步 Build -> Generate Signed APK 2. 之後會要求開發者輸入相關的密鑰文件和密碼 如果有則找到對應的 .jks 文件輸入密碼完成相應操作,否則則創建一個對

Android Studio 打包生成apk

self one 直接 word uil 編譯 jpg content 但是 打開AndroidStudio,並且打開想要生成apk文件的項目。 點擊工具欄上面的“Builder” 點擊“Builder”之後在下拉菜單裏面可以看到“Genara

【轉】Android Studio打包全攻略---從入門到精通

UC store 類型 安裝文件 public alt url tool 描述 原文地址:http://blog.csdn.net/zivensonice/article/details/51672846 初出茅廬 手動打包 怎麽手動打包 項目寫完了,現在需要把應用上傳

Android Studio 打包AAR和第三方靜態庫

contain ise ply appcompat pla 依賴 prop 三方庫 spa 需求 現在有一個第三方庫libstatic_add.a和對應的頭文件static.h,要求封裝一個Module,該Module依賴這個靜態庫,要求打包的Module包含該靜態庫。

Android Studio打包生成APK教程

src 變量名 nts .apk variants idt test filename 一個 一、修改版本和指定生成APK文件名【可選】 將項目切換到Project視圖,打開app目錄下的build.gradle文件 1.1 修定軟件版本 versionCode是app的大

Android Studio打包生成的apk安裝到手機上閃退

        由於專案的需求,需要使用Android Studio將專案打包成apk進行釋出測試(當然還有簡單的方式,但是目前還沒有研究)。在這個過程中,通過網上的學習打包成功了,但是安裝到手機模擬器上之後發生閃退,一開始以為是模擬器的問題,於是將apk