【问题标题】:Not able to communicate between two modules in an Android project?无法在 Android 项目中的两个模块之间进行通信?
【发布时间】:2015-09-03 04:03:41
【问题描述】:

我的项目有两个模块:

  • 应用
  • Facebook 库

这是我的gradle 文件:

setting.gradle

include ':app', ':facebook-lib'

模块应用 gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.app.test"
    minSdkVersion 18
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:22.1.1'
  compile project (':facebook-lib')

}

模块 Facebook-lib gradle

apply plugin: 'com.android.library'

android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.facebook.android:facebook-android-sdk:4.0.0'

}

每当我尝试访问 App 模块中的 Facebook-lib 类时。它有效,但我不能反之亦然。 我得到com.app.testpackage 不存在或找不到符号类。

我在这里做错了什么?

【问题讨论】:

  • 所以你正试图从Facebook-lib 模块与App 模块通信,不是吗?在这种情况下,在 Facebook-lib build.gradle 中添加编译依赖项。无论如何,我认为这不是一个好习惯,因为您正在创建循环依赖项。必须有更好的方法来做你想做的事
  • 是的,它会创建一个循环依赖,但它仍然没有编译
  • 不能创建循环依赖。

标签: android gradle android-gradle-plugin


【解决方案1】:

你做不到。

您的Module App 依赖于Module Facebook library。这意味着您可以在主模块中使用库中的类。

您的Facebook library 与您的模块没有依赖关系。这意味着你不能使用主模块中的类。
你也不能创建循环依赖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2018-01-28
    • 2019-05-12
    • 2016-05-05
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    相关资源
    最近更新 更多