我花了几个小时试图让Roboguice工作,但没有成功。我最近的努力包括试图让Astroboy的例子工作,但我遇到了问题后(最终)得到它的部署。
这是我执行的步骤的总结:
- 安装Apache Maven 3的干净副本
- 安装Android SDK的干净副本并下载所有可用的平台
- 安装并运行Maven Android SDK Deployer,以便下载所有工件等
- 下载了Astroboy示例的克隆 执行mvn clean install来构建roboguice和astroboy。测试失败了,因为我没有下载平台9。不知道为什么它引用了一个过时的API,所以我运行这个命令来下载甚至过时的API: android update sdk——No -ui——obsolete——force
- 再次执行mvn clean install,这次构建成功
已执行mvn android:deploy和android:run。成功,但有以下警告:
[警告][警告]在建立有效的模型时遇到了一些问题org.roboguice:阿童木:apk: 2.0快照(警告)的母公司。relativePath’指向org。roboguice: roboguice-aggregator ins而不是org。sonatype。Oss: Oss -parent,请验证您的项目结构@行第104页第13栏(警告)[警告]强烈建议修复这些问题,因为它们威胁到你的建筑的稳定性。(警告)[警告]由于这个原因,未来的Maven版本可能不再支持build - inG这样的畸形项目。[警告]
现在运行应用程序并得到这个错误:
11-22 03:45:35.470: E/AndroidRuntime(2437): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.roboguice.astroboy/org.roboguice.astroboy.activity.AstroboyMaster Console}: com.google.inject.internal.util.$ComputationException: java.lang.NoClassDefFoundError: android.support.v4.app.FragmentManager
谢谢
看起来您需要将ACL库添加到构建路径中。这是android.support.v4。它可以在sdk文件夹下的extras> android> compatibility中找到。如果没有,请使用SDK管理器工具下载它。