2016-09-22 152 views
0

我從Dexguard 6升級到7,並有一個關於圖書館混淆的問題。隨着Dexguard 6,我能模糊我的庫就是Android Studio中一個模塊,然後在我的應用程序中使用這個模塊與它作爲本地依賴性:Dexguard在一個圖書館項目

dependencies { 
    compile project(':sdk') 
} 

然而,當我嘗試用Dexguard 7.0做到這一點。 31我得到的例外:

執行失敗的任務':sdk:transformClassesAndResourcesWithProguardForRelease'。 > java.io.FileNotFoundException:/lib/dexguard-library-release.pro(沒有這樣的文件或目錄)

+0

您是否檢查文件DEXGUARD-FOLDER/lib/dexguard-library-release.pro是否存在。如果確實如此,那麼您在Gradle中錯誤地設置了DexGuard,如果沒有,則將其從DexGuard zip文件中複製。 – lionscribe

+0

它是我在gradle.build中添加的dexguard.jar的一部分:flatDir {dirs'dexguard/7.0.31 /'}。它爲應用程序正常工作,但不適用於本地圖書館項目。 – Elias

+0

編譯庫時,使用dexguard-library-release.pro文件而不是dexguard-release.pro文件。只要確保文件存在。 – lionscribe

回答

0

你可能已經在你的庫項目,這將不結合DexGuard工作組minifyEnabled true。只需將標誌設置爲false即可。

最近版本的DexGuard將檢查標誌併發出錯誤。

+0

配置是這樣的,圖書館的dexguard和使用圖書館的應用程序的proguard。 – Elias