【发布时间】:2015-11-24 06:49:50
【问题描述】:
我正在使用 Roboguice 3.0.1 和 RoboBlender 3.0.1。我读过维基。这个应用程序自 3.0.1 发布以来一直运行良好(将近一年),我刚刚在我的项目中添加了 proguard。我似乎正确设置了 proguard 配置。
每当我运行应用程序时,我都会立即收到此错误(这是打印的全部内容;没有堆栈跟踪或任何东西)。
11-24 01:36:05.473 12995-12995/com.me D/roboguice.RoboGuice: Using annotation database(s).
11-24 01:36:05.475 12995-12995/com.me D/roboguice.RoboGuice: Using annotation database(s) : [com.me, roboguice]
11-24 01:36:05.485 12995-12995/com.meD/roboguice.RoboGuice: Time spent loading annotation databases : 8
11-24 01:36:05.822 12995-12995/com.me E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.me, PID: <pid>
java.lang.RuntimeException: Unable to create application com.me.MeApplication: com.google.inject.CreationException: Unable to create injector, see the following errors:
注意:我已将此作为问题发布在 RoboGuice 存储库中,但由于那个地方看起来已经死了,我想我更有可能在这里获得帮助。
【问题讨论】:
-
“我已经正确设置了 proguard 配置” - 是什么让你如此确定,特别是因为你似乎暗示这个问题只有在你将 Proguard 添加到你的配置?您可以尝试在您的调试构建类型上运行 Proguard(如果您还没有)以获得更多输出。此外,如果适用,请暂时关闭混淆,同时允许 Proguard 仍然剥离代码 - 这样您就可以更轻松地读取任何 strack 痕迹。
-
我确信这一点是因为:A) 我已经遵循 RoboGuice wiki 中的所有指南 B) 发生了与 Proguard 相关的崩溃,然后我修复了所有这些 C) 我已经验证了所有内容在 classes.dex 中的外观。我只在我的调试版本上运行它(经验告诉我,在你 1000% 确定它有效之前,不要使用 Proguard 发布一个版本),并且混淆已关闭。当我说这就是打印的所有内容时,我的字面意思是所有打印的 logcat。
-
虽然,你提出了一个很好的观点。请参阅已编辑的问题。
标签: java android guice roboguice roboblender