我最近被
a puzzling problem击中,没有任何解释,我不知何故
managed to solve.
解决方案本身对我来说是一个问题,因为我不理解它:它迫使我指示Proguard忽略关于我自己的应用程序包的所有警告.
-dontwarn com.bta.**
除了在我的开发中忽略关于最容易出错的代码的警告(最频繁更改代码)这一令人不安的问题,我对两个问题感到困惑:
>为什么突然出现这种需求? (我从来不需要这样做
之前.)
>为什么我在其他项目/应用程序中不需要这样做
开发?
我相信我介绍的一些新代码或库导致了这个问题(AdMob?),但对此有何解释?为什么第三方库迫使我关闭有关我自己的应用程序资源的警告?
完全关闭我自己的应用程序包的警告有什么副作用(就像我一样)?
解决方法
回答我自己的问题:
在浪费了太多时间调试那些本来可以节省时间的工具之后,我发现了问题的根源. It’s a bug in the Android SDK tools.据记载已在r17中解决,但我使用的是今天(2012年6月18日)的最新版本,但尚未解决! (见评论24). Comment 25还描述了允许我现在继续进行实际开发的变通方法.
错误是复杂系统中的生命现实.但事实上,Proguard和为Proguard提供输入的构建工具都无法提供任何有用的错误信息(事实上它们恰恰相反),这表明Android开发工具recommended by Google的“方法论”中已经破坏了某些内容.