Я пытаюсь работать с проектом, который имеет два модуля, например M1
и M2
. M1
должен иметь M2
в качестве зависимости. Я добавил класс Test
в M2
, который я хочу получить от M1
.Зависимость модуля
Я работаю с Android Studio 0.3.2. Независимо от того, что я пытаюсь (реимпорт проекта, файлы с градиентом синхронизации ...), я не могу получить доступ к классу Test
от M1
: Cannot resolve symbol 'Test'
.
Структура Папка:
- root
- M1
- src
- build.gradle
- ...
- M2
- src
- build.gradle
- ...
- build.gradle
- settings.gradle
- ...
корень/settings.gradle:
include ':M1', ':M2'
корень/build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
корень/M1/build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
}
}
dependencies {
compile project(':M2')
}
корень/M2/build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
}
}
dependencies {
}
Запуск gradlew compileDebug
дает:
root\M1\src\main\java\com\mypackage\m1\MainActivity.java:28: error: package com.mypackage.m2 does not exist
com.mypackage.m2.Test test;
^
Что я должен делать решить эту проблему?
Weird .. У меня есть аналогичная конфигурация, и она работает нормально. Итак, очевидные вопросы: когда вы открываете 'MainActivity' в Android Studio, вы видите волнисто-красную вещь под' com.mypackage.m2'? Действительно ли существует класс 'Test'? Вы импортировали пакет? Вы пытались запустить 'gradlew clean build'? – mbmc
Слово 'Test' в' com.mypackage.m2.Test test; 'красное. Autocomplete не находит пакет 'm2'. Он существует в модуле 'M2'. 'import com.mypackage.m2. *;' приводит к 'unused import statement' (хотя ошибки не было). Я пробовал запустить чистую сборку gradlew только сейчас, никакого результата. – nhaarman