2016-09-22 109 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