Android Gradle仅从Maven Central下载.aar.asc
我刚刚部署了一个名为的Android库。我在另一个Android项目中使用了几天。突然,它停止了工作-依赖项再也找不到了。我注意到Gradle在清理项目时只下载一个文件:Android Gradle仅从Maven Central下载.aar.asc,android,maven,gradle,android-library,maven-central,Android,Maven,Gradle,Android Library,Maven Central,我刚刚部署了一个名为的Android库。我在另一个Android项目中使用了几天。突然,它停止了工作-依赖项再也找不到了。我注意到Gradle在清理项目时只下载一个文件: Download http://repo1.maven.org/maven2/info/metadude/android/typed-preferences/ \ 1.0.0/typed-preferences-1.0.0.aar.asc 以下是我的宠物项目的生成文件: build.gradle: // Top-leve
Download http://repo1.maven.org/maven2/info/metadude/android/typed-preferences/ \
1.0.0/typed-preferences-1.0.0.aar.asc
以下是我的宠物项目的生成文件:
build.gradle
:
// Top-level build file where you can add configuration
// options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
allprojects {
repositories {
mavenCentral()
maven {
url "${System.env.HOME}/.m2/repository"
}
maven {
url "https://github.com/novoda/public-mvn-repo/raw/master/releases"
}
}
}
apply plugin: 'android'
apply plugin: 'idea'
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}
dependencies {
compile 'com.android.support:support-v4:19.0.+'
compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.squareup.okhttp:okhttp:1.3.+'
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
compile 'com.novoda:sqliteprovider-core:1.0.+'
compile 'com.androidmapsextensions:android-maps-extensions:2.1.+'
compile 'com.google.android.gms:play-services:3.2.+'
compile 'info.metadude.android:typed-preferences:1.0.0'
}
app/build.gradle
:
// Top-level build file where you can add configuration
// options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
allprojects {
repositories {
mavenCentral()
maven {
url "${System.env.HOME}/.m2/repository"
}
maven {
url "https://github.com/novoda/public-mvn-repo/raw/master/releases"
}
}
}
apply plugin: 'android'
apply plugin: 'idea'
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}
dependencies {
compile 'com.android.support:support-v4:19.0.+'
compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.squareup.okhttp:okhttp:1.3.+'
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
compile 'com.novoda:sqliteprovider-core:1.0.+'
compile 'com.androidmapsextensions:android-maps-extensions:2.1.+'
compile 'com.google.android.gms:play-services:3.2.+'
compile 'info.metadude.android:typed-preferences:1.0.0'
}
如您所见,我还允许Gradle在此处查看我的本地Maven缓存:
maven {
url "${System.env.HOME}/.m2/repository"
}
我删除了相关文件夹,以避免Gradle从那里加载内容
库的build.gradle
文件中可能存在配置错误-请在此处查找:
另外,请告诉我是否可以在不部署到Maven Central的情况下在本地测试您的修复程序。看起来已发布POM的
打包
元素的值错误。它应该是aar
,而不是aar.asc
此外,您始终可以强制下载工件类型。只需添加依赖项,如:
compile "group:artifact:version@type"
你的情况就是这样
compile "info.metadude.android:typed-preferences:1.0.0@aar"
就是这样。“突然停止工作”很奇怪。您确定剩余的文件尚未缓存吗?(
gradle clean
不会清理依赖项缓存。)在这种情况下,首先尝试使用--刷新依赖项运行。您使用的是哪种Gradle版本?只有当Gradle构建需要使用本地Maven构建的输出时,才应该声明本地Maven repo(没有其他好处,只有缺点)。如果声明了它,它应该是mavenLocal()
。我使用的Gradle包装器定义了v.1.10。我通过删除库的目录手动清理了缓存(Maven和Gradle)gradle——刷新依赖项
下载.pom
和.aar.asc
。仍然找不到依赖项。请尝试删除Maven本地声明,并尝试使用--info
或--debug
运行。据我所知,POM是根据我在中定义的内容生成的。你能找出哪里出了问题吗?包装“aar”,“jar”
看起来可疑,因为包装只能有一个值。我不知道aar.asc
从哪里来。这并不意味着它是对的。克劳顿的构建脚本有包装“jar”、“aar”
(即相反顺序)。也许第一个值获胜,并且jar
是POM的默认打包类型。这可以解释为什么它发布的POM没有打包元素。我将尝试调整那里设置的jar
任务。正如我所说的,它以不同的顺序指定它们,这在实践中可能会产生不同。然而,指定两种类型肯定是错误的。