【问题标题】:Installing Roboguice in Android Studio在 Android Studio 中安装 Roboguice
【发布时间】:2015-01-29 15:56:28
【问题描述】:

我想在使用 Android Studio 和 Gradle 的 Android 项目中使用 Roboguice。我一直在关注their installation guide,但我对 Gradle 和 Android Studio 都是新手,我不确定它们是如何组合在一起的。

基本上,我已经更改了应用程序的 build.gradle 文件包含类似的内容;

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:21.0.3'
  compile 'org.roboguice:roboguice:3.+'
  provided 'org.roboguice:roboblender:3.+'
}

在Android Studio中同步更改后,我期待访问RoboActivity等,但我找不到引用。

谁能解释这是怎么回事?

谢谢, 马特

【问题讨论】:

  • 你能解释一下“找不到参考”是什么意思吗?这是否意味着您将 RoboActivity 添加到 java 文件并且编译器找不到它?谢谢。
  • 没错,我应该用RoboActivity 扩展我的课程,但我得到的错误是Cannot find symbol class RoboActivity

标签: android gradle android-studio android-gradle-plugin roboguice


【解决方案1】:

我决定阅读有关 Gradle 及其工作原理的更多信息。最终,我发现了很多对 mavenCentral()jcenter() 存储库的引用。

mavenCentral 和 jcenter 都是基于 java 的包存储库(有点像 Nuget for .NET)。

我猜 Roboguice 在 jcenter 中不可用,因为如果您使用 mavenCentral,一切似乎都可以正常工作。为了更改您的存储库,您需要更改项目级别的 gradle.build 文件。

// Top-level build file where you can add configuration options common 
// to all sub-projects/modules.

buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:1.0.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}

allprojects {
  repositories {
    mavenCentral()
  }
}

【讨论】:

  • 很高兴你找到了它。虽然您的意思是“jcenter”而不是“jCentral”。这可以解释为什么它没有被发现,因为 jcenter 自动从 Maven Central 获取大部分内容。此外,您是否能够找到任何错误消息(可能在“运行”视图中)说明找不到库。不得不从 java 编辑器中猜测,有点麻烦。
  • @AndroidGuy 感谢您的更正。如果 jcenter 从 maven 获取东西,那么它应该找到它,我猜。我检查了消息等,但我找不到任何东西。感谢您的帮助。
猜你喜欢
  • 2019-06-24
  • 2015-09-24
  • 2017-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 2016-12-02
相关资源
最近更新 更多