После обновления до AS 3.2.1 я получаю эту ошибку синхронизации:
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :androidlib_abc.
мое приложение gradle.build:
apply plugin: 'com.android.application'
allprojects {
repositories {
// The order in which you list these repositories matter.
google()
jcenter()
maven {
url "https://maven.google.com"
}
}
}
android {
compileSdkVersion 28
defaultConfig {
applicationId "de.gpx.android.rtk"
minSdkVersion 24
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
}
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
buildToolsVersion '28.0.3'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
compile project(path: ':androidlib_abc')
}
мой файл androidlib_abc gradle.build:
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
minSdkVersion 24
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
testCompile 'junit:junit:4.12'
}
Ссылка «Открыть файл» в сообщении об ошибке указывает на файл приложения gradle.build.Когда я удаляю строку
compile project(path: ':androidlib_abc')
Тогда я могу синхронизировать проект оценки, но я не могу скомпилировать и использовать какой-либо пакет из этой библиотеки (не могу разрешить классы и т. Д.)не делать обновление ... ("Никогда не меняйте работающую систему" -_-)
Есть идеи как исправить?
ОБНОВЛЕНИЕ:
Я удалил модуль из проекта, а затем снова импортировал его.Тогда все работало нормально!НО: каталог модуля копируется в каталог моего проекта (обычное поведение).Однако мне нужно, чтобы каталог модуля был на один уровень выше, в том же каталоге, что и каталог проекта.Таким образом, я мог бы поделиться модулем с различными проектами, не имея дубликатов и синхронизируя работу, что экономит мне много времени (на самом деле я не могу работать с несколькими проектами иначе).
Я использовал этот settings.gradlefile:
include ':app', ':androidlib_abc'
project(':androidlib_abc').projectDir = new File(rootProject.projectDir, '../androidlib_abc ')
, который отлично работал до AS 3.2.1
Теперь, после того, как я снова успешно импортировал модуль и переместил каталог модуля на один уровень вверх и изменил файл settings.gradle наснова, я снова получаю ошибку невозможности разрешения зависимости: '- (
UPDATE2:
Использование другого конструктора без аргумента rootProject.projectDir позволило мнечтобы выполнить синхронизацию gradle.
include ':app', ':androidlib_abc'
project(':androidlib_abc').projectDir = new File('../androidlib_abc')
Библиотека наконец-то указана в левой части!
Однако возникла новая проблема. Классы / методы / поля и т. д. не определены вмодуль может быть разрешен. Даже в классах внутри самого модуля, хотя они даже находятся в одном каталоге (пакете) ... Очистка и восстановление не помогли.Например, это здание успешно, и я, по-видимому, могу даже установить приложение на свое устройство и запустить его без каких-либо исключений ...!?Так может это просто ошибка IDE?
UPDATE3
Я удалил каталог .gradle и .idea и перезапустил AS.Теперь все в порядке B -)