2017-11-25 112 views
0

我进口在我的Android项目中的这些依赖关系:哪个依赖关系应该不会与proguard混淆?

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:26.1.0' 
compile 'com.android.support:design:26.1.0' 
compile 'com.google.code.gson:gson:2.8.0' 

compile project(':openCVLibrary330') 
compile 'de.hdodenhof:circleimageview:2.2.0' 

compile 'com.google.android.gms:play-services-ads:11.6.0' 

compile 'com.android.support:recyclerview-v7:26.1.0' 
compile 'com.android.support:cardview-v7:26.1.0' 

}

现在我的问题是:哪些依赖我不应该使用ProGuard混淆,以及如何达到这个结果?

谢谢大家!

回答

0

一般来说,您根本不必担心这一点。依赖关系随自己的Proguard文件一起提供,该文件在构建应用程序时与您自己合并。 Google的图书馆肯定遵循这一规则。唯一不用担心的是当你使用一些设计不好的第三方库时。在这种情况下,您必须检查库是否使用反射来引用任何方法或类,在这种情况下,您必须排除这些方法或类被混淆。

+0

嗯,我明白了。例如,在我的项目中,我使用了第三方库,如openCV和circleImageView。如果我理解正确,我应该在proguard-rules.pro文件中指定不要通过编写'-keep class org.opencv。*'来混淆这两个依赖项?这是正确的语法吗?非常感谢。 –

+0

是的,那将是正确的语法。 –