【问题标题】:Android studio module cannot resolve symbol contextAndroid Studio 模块无法解析符号上下文
【发布时间】:2014-02-05 22:07:18
【问题描述】:

我在 Android 工作室有一个项目,我需要删除 .idea 目录。所以我再次导入它,但在此之后,libs/ 中的所有模块都无法解析来自 android 的任何内容(但 app 模块可以)。

有没有什么设置可以连接模块和android?

非常感谢

这是来自stickyListHeaders 库的屏幕:

来自stickyList 的biuld.gradle: 应用插件:'android-library'

apply plugin: 'android-library'

android {
compileSdkVersion 17
buildToolsVersion "19.0.0"

defaultConfig {
    minSdkVersion 9
    targetSdkVersion 18
}

release {
    runProguard false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}

还有项目的settings.gradle

include ':libs/bakuDroidLibrary'
include ':libs/photoView'
include ':libs/pullToRefresh'
include ':libs/slidingMenu'
include ':libs/spinnerWheel'
include ':libs/stickyListHeaders_lib'
include ':##PROJECTNAME##'

其他一些可能有帮助的屏幕:

顶级 build.gradle:

// 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:0.7.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

【问题讨论】:

  • 导入时是否有任何错误? Gradle 控制台中应该有一些有趣的东西。
  • 不是一个错误,只有这种消息: :libs/stickyListHeaders_lib:compileReleaseRenderscript UP-TO-DATE :libs/stickyListHeaders_lib:generateReleaseBuildConfig UP-TO-DATE :libs/stickyListHeaders_lib:mergeReleaseAssets UP-TO -DATE:libs/stickyListHeaders_lib:mergeReleaseResources 最新:libs/stickyListHeaders_lib:processReleaseManifest 最新:libs/stickyListHeaders_lib:processReleaseResources 最新:libs/stickyListHeaders_lib:generateReleaseSources 最新:libs/stickyListHeaders_lib :compileReleaseJava UP-TO-DATE
  • 这样使用include ':libs:slidingMenu',不确定“/”是否可以。没试过。
  • 还是一样。奇怪的是主模块没问题,但 libs/ 中的模块不起作用
  • 所有模块还是只有stickyheader?当您按 alt+enter 键修复任何错误时它会说什么?

标签: android module gradle android-studio resolve


【解决方案1】:

首先检查文件»项目结构»Android SDK是否指向正确的SDK。

请确保在您的stickyheader 库的apply plugin: 'android-library'inside build.gradle 文件之前或在项目根目录的build.gradle 文件中添加以下行。

 buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

我的建议是避免在您的项目中下载和添加库,而是使用 maven 依赖项。

对于您使用过的stickyheader,只需在模块的build.gradle 文件中添加这样的依赖项即可使用

 dependencies {

    compile 'se.emilsjolander:stickylistheaders:2.1.3'

 }

没有其他事情需要做。

【讨论】:

  • 谢谢,SDK 指向正确。在应用插件之前添加行。我也无法下载所有库,因为其中一些是我自己的。最糟糕的是从昨天开始一切正常,所以一定是某些设置设置错误。
  • 当我点击我的主应用程序模块时,在模块设置中,我看到了它的详细信息(属性、签名、风味等)。但是当我点击一些 lib 模块时,我什么也看不到
  • 能否请您包括您的项目结构以及顶级项目级别build.gradle 文件?
  • 我在办公室看不到项目结构的图像,我建议你删除所有与stickyheader相关的东西,只包括我在回答中提到的依赖项。
  • 我已按要求添加了顶级 build.gradle。 Anout 仅包含依赖项 - 它是如何工作的?它从某个全局存储库或从哪里获取代码?
猜你喜欢
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
相关资源
最近更新 更多