2015-08-28 6 views
1

Мой проект имеет два модуля:Невозможно установить связь между двумя модулями в проекте Android?

  • App
  • Facebook-Lib

Вот мои gradle файлы:

setting.gradle

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

Модуль App 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 Пб 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' 

}

Whenver Я пытаюсь получить доступ к Facebook-lib класса в App модуле. Это работает, но я не могу сделать наоборот. Я получаю com.app.test Пакет не существует или не может найти класс символов.

Что я здесь делаю неправильно?

+0

Итак, вы пытаетесь связаться с модулем 'App' с модуля' Facebook-lib', не так ли? В этом случае добавьте зависимость компиляции в Facebook-lib 'build.gradle'. Во всяком случае, я не думаю, что это хорошая практика, так как вы создаете зависимости круга. Должен быть лучший способ сделать то, что вы пытаетесь сделать – Pelocho

+0

Да, он создаст круговые зависимости, но все же он не компилируется. –

+0

Вы не можете создать круговую зависимость. –

ответ

0

Вы не можете этого достичь.

Ваш Module App имеет зависимость от Module Facebook library. Это означает, что вы можете использовать классы внутри библиотеки в своем основном модуле.

Ваш Facebook library не имеет зависимости от вашего модуля. Это означает, что вы не можете использовать классы в основном модуле.
Также вы не можете создать круговую зависимость.

Смежные вопросы