Ответ 1
Попробуйте щелкнуть значок структуры проекта и проверить сведения о структуре. Иногда может быть, вы можете импортировать библиотеку, не выполнив некоторые важные шаги.
У меня есть проект библиотеки Common, который я использую для функциональности, которая используется другими моими проектами "Потребительские и управляющие". Сам потребитель также является проектом библиотеки, который используется другими приложениями.
Файл build.gradle в Common содержит все внешние зависимости, используемые другими проектами:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.2.2'
compile 'com.android.support:support-v4:22.1.0'
compile 'com.squareup.picasso:picasso:2.5.2'
}
Загружает следующие библиотеки:
Этот список остается неизменным, когда я добавляю Common в "Потребительский", "Управление" или и тот и другой. Когда я добавляю Потребителя в MyApp, например:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':consumer')
}
Это происходит:
Библиотека поддержки просто исчезает, что приводит к полному хаосу в моем проекте. Этого не произошло до обновления до Android Studio 1.3.1, поэтому мне действительно интересно, какая проблема может быть.
Для справки это полные файлы gradle.build:
Общие
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 11
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.google.code.gson:gson:2.2.2'
compile 'com.android.support:support-v4:22.1.0'
compile 'com.squareup.picasso:picasso:2.5.2'
}
Управление
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "eu.test.mgmt"
minSdkVersion 11
targetSdkVersion 22
multiDexEnabled = true
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/ASL2.0'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile project(':common')
}
Потребитель
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
lintOptions {
checkReleaseBuilds false
abortOnError false
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 22
versionCode 18
versionName "1.3"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/xml', 'src/main/res/xml'] } }
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':common')
}
MyApp
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "eu.test.myapp"
minSdkVersion 15
targetSdkVersion 22
versionCode 19
versionName "1.4"
multiDexEnabled = true
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/ASL2.0'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':consumer')
}
Попробуйте щелкнуть значок структуры проекта и проверить сведения о структуре. Иногда может быть, вы можете импортировать библиотеку, не выполнив некоторые важные шаги.