是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

Sushobh Nadiger:

我在我的主要的应用程序建立在Android中使用一个模块,并似乎有是两个consumer-rules.pro和proguard-rules.pro这些文件。

我想知道的事情folllowing

  1. 将所有的模块代码由主模块亲卫队规则的规则进行模糊处理,即使模块没有指定任何规则?
  2. 是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?
  3. 如果我在我的模块中启用minifyEnabled?
  4. 我注意到,我能为我的主模块在模块添加proguard的规则,所以没有该模块的平均proguard的规则是在主模块中重写?

请指教。

Jeel Vankhede:

我会尽量回答每一个问题,即使让我知道,如果事情没有意义!

1. 将所有的模块代码由主模块亲卫队规则的规则进行模糊处理,即使模块没有指定任何规则?

混淆不工作的方式。当您的应用程序模块中能够缩小财产它试图从应用模块,以及它的第三方的依赖与你的库模块将被视为第三方DEPS模糊处理代码。在这里,但它并没有触及你的第三方依赖任何传递依赖


2. 什么是Android中consumer-rules.pro和proguard-rules.pro之间的区别?

proguard-rules.pro是你声明的规则来为你模块和它的依赖关系到ProGuard的文件。

consumer-rules.pro在这里声明,可以从消费你的模块上应用规则的文件(任何人会使用你的模块/库的依赖关系,通常由开发者库使用。)


3. 如果我在我的模块中启用minifyEnabled?

我建议你应该(每个开发必须在发布APK做),但要确保一切工作正常,因为根本classes.dex变化将缩小后。它有助于减少输出的apk大小,优化代码,模糊处理的类文件以及更多...


4. 我注意到,我能为我的主模块在模块添加proguard的规则,所以没有该模块的平均proguard的规则是在主模块中重写?

不,基本上库规则会从应用的消费规则从库模块本身的文件,所以当你宣布在应用模块库中它被应用在同样的方式与规则,消费者的规则基本上是表明涅槃时,消费者应该使用这些规则。

proguard-rules.pro库是你为你的库的第三方的依赖声明规则的地方(这被认为是传递依赖于你的应用程序模块/主模块)及不通过应用程序模块的规则来重写。


我希望这是有道理的!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

proguard-rules.pro文件上的FileNotFoundException

何时在Webpack 2 module.rules中使用“ use”和“ loader”?

由于缺少proguard-rules.txt,因此无法在Android Studio中生成已签名的APK

proguard-android.txt和proguard-rules.pro有什么区别?-安卓

Firebase rules reset by themselves

使用Proguard构建库时找不到aapt_rules.txt

所有规则和`rules.rule_A.output.output_X`语法的解决方法

在多个应用程序模块中重复使用proguard-rules.pro文件

\ intermediates \ proguard-rules \ release \ aapt_rules.txt(系统找不到指定的路径)

proguard-rules.pro似乎不适用于R8

\ Validator :: make($ input,$ rules)和Validator :: make($ input,$ rules)有什么区别?

proguard-rules.pro中的规则顺序重要吗?

如何更改.rules文件位置

为什么Firebase存储“ rules_version ='2'”被覆盖?

为什么我需要将我的源代码保留在Proguard Rules中以防止崩溃?

如何在Firebase托管上上传网站而不附加storage.rules和firestore.rules文件?

CSS中的@rules是什么?

在我的Flutter应用中找不到proguard-rules.pro

多个rewrite_rules

如何使Laravel的Validator $ rules可选?

为什么70-persistent-net.rules不起作用?

Surface 2和Surface Pro 2之间的区别

克隆的Linux系统和/etc/udev/rules.d/70-persistent-net.rules

/etc/udev/rules.d/与/lib/udev/rules.d/-使用哪个,为什么?

在Snort中使用coder.rules和preproc.rules

我的Android应用程序目录中的app.iml和proguard-rules.pro在做什么?

如何在proguard_rules.pro中保留资源?

http-proxy-rules和Websockets

WordPress和flush_rules