我有一个简单的问题:
我为什么要在Android应用中使用调试配置?
我的问题的原因是我遇到了一些只发布的错误,如果我总是在发布版本中调试我的代码,那么可以完全避免这些错误 .
所以在发布版本中我只是将debuggable标志设置为true并在调试期间禁用ProGuard . - >问题消失了 .
(当然,我仍然必须使用ProGuard进行一次测试...)
有没有反对我的方法的论据?如果没有,为什么存在调试版本呢?
根据其他答案的调试变体的参数集合:
-
ProGuard(好吧......这不是争论)
-
构建速度(由于某种原因,我的发布版本需要更少的时间来编译...)
-
API密钥(一个用户或多或少无关紧要......)
-
debuggable(这也适用于发布版本)
-
仅调试权限(我可以在清单中取消注释这一行...)
-
签署证书(这并不重要......)
请给我一些让我使用调试变体的东西,否则我会禁止它从我的应用程序^^
1 回答
在较小的项目中,调试构建看起来像是一种矫枉过正 . 与注释中所述的一样,当您转动proguard并启用调试时,它与发布版本完全相同 . 它只是Android项目的模板,允许您快速设置2种类型的构建 .
一旦您处理更大的项目,这个功能就会变得更有趣 . 您将设置一个构建服务器,该服务器定期触发自动构建,因此您不必在每次需要特定类型的构建时手动配置gradle文件 . 在调试和发布之后,您甚至可能希望创建更多配置,每个配置都连接到不同的测试环境,因此测试人员可以在不需要每次需要不同构建时与您联系的情况下工作 . 您还提到了在发布时缩短的构建时间,但是一旦您的项目变得很大并且您包括例如每次想要构建时,Dexguard对其进行模糊处理需要很长时间,并且您会喜欢使用调试版本来加速开发