找不到满足版本限制的'com.android.support:support-annotations'版本 [英] Cannot find a version of 'com.android.support:support-annotations' that satisfies the version constraints

查看:176
本文介绍了找不到满足版本限制的'com.android.support:support-annotations'版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我想使用Proguard规则生成签名的APK(发行版)时,收到此错误消息:

找不到满足版本限制的'com.android.support:support-annotations'版本: 依赖路径'Transition:library:unspecified'->'com.android.support.test:runner:1.0.2'->'com.android.support:support-annotations:27.1.1' 约束路径'Transition:library:unspecified'->'com.android.support:support-annotations'严格为'26 .1.0',原因如下:debugRuntimeClasspath使用版本26.1.0 ...

Gradle(应用):

android {
compileSdkVersion 28

defaultConfig {        
    minSdkVersion 21
    targetSdkVersion 26      
}

buildTypes {

    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-
android.txt'),'proguard-rules.pro'
    }

}

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:support-compat:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-annotations:28.0.0'
//noinspection GradleCompatible
implementation 'com.android.support:cardview-v7:28.0.0'
//noinspection GradleCompatible
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.android.support:appcompat-v7'
api 'com.google.android.gms:play-services:12.0.1'
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'
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
implementation project(':library')
implementation 'com.jpardogo.materialtabstrip:library:1.1.1'
implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54'
implementation 'com.google.guava:guava:26.0-android'
// glide
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.googlecode.json-simple:json-simple:1.1'
implementation ('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2'){
    exclude module: 'support-v4'
}}

成绩(项目):

buildscript {

repositories {
    google()
    jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0-alpha13'

    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Gradle(库):

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26



defaultConfig {
    minSdkVersion 21
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    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'
}

Proguard规则:

-keep class com.jcraft.jsch.jce.*
-keep class * extends com.jcraft.jsch.KeyExchange
-keep class com.jcraft.jsch.**
-keep class com.jcraft.jzlib.**
-keep class com.jcraft.jsch.jce.*
-keep class com.jcraft.jzlib.ZStream
-keep class com.jcraft.jsch.Compression
-keep class org.ietf.jgss.*
-dontwarn org.ietf.jgss.**
-dontwarn com.jcraft.jsch.**

-keepattributes Signature, InnerClasses

-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}

-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

-dontwarn javax.annotation.**

-dontwarn kotlin.Unit   

-dontwarn afu.org.checkerframework.**
-dontwarn org.checkerframework.**
-dontwarn com.google.errorprone.**
-dontwarn sun.misc.Unsafe
-dontwarn java.lang.ClassValue

我认为问题出在Proguard,因为我通常可以在没有它的情况下生成APK. 我还尝试了在同步项目之前添加其他'com.android.support:support-annotations:xx'实现,但是问题仍然存在.

该项目是从git repo导入的.

解决方案

问题已解决!我需要添加

下的

implementation 'com.android.support:support-annotations:28.0.0' android/app/build.gradle中的依赖项 在我的图书馆.消息警告足够明确地执行此操作,但是我没有考虑修改库依赖项.

When i want to generate a signed APK (release) using Proguard rules i got this error message :

Cannot find a version of 'com.android.support:support-annotations' that satisfies the version constraints: Dependency path 'Transition:library:unspecified' --> 'com.android.support.test:runner:1.0.2' --> 'com.android.support:support-annotations:27.1.1' Constraint path 'Transition:library:unspecified' --> 'com.android.support:support-annotations' strictly '26.1.0' because of the following reason: debugRuntimeClasspath uses version 26.1.0 ...

Gradle (app) :

android {
compileSdkVersion 28

defaultConfig {        
    minSdkVersion 21
    targetSdkVersion 26      
}

buildTypes {

    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-
android.txt'),'proguard-rules.pro'
    }

}

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:support-compat:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-annotations:28.0.0'
//noinspection GradleCompatible
implementation 'com.android.support:cardview-v7:28.0.0'
//noinspection GradleCompatible
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.android.support:appcompat-v7'
api 'com.google.android.gms:play-services:12.0.1'
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'
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
implementation project(':library')
implementation 'com.jpardogo.materialtabstrip:library:1.1.1'
implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54'
implementation 'com.google.guava:guava:26.0-android'
// glide
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.googlecode.json-simple:json-simple:1.1'
implementation ('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2'){
    exclude module: 'support-v4'
}}

Gradle (Project):

buildscript {

repositories {
    google()
    jcenter()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0-alpha13'

    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Gradle (Library):

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26



defaultConfig {
    minSdkVersion 21
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    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'
}

Proguard rules :

-keep class com.jcraft.jsch.jce.*
-keep class * extends com.jcraft.jsch.KeyExchange
-keep class com.jcraft.jsch.**
-keep class com.jcraft.jzlib.**
-keep class com.jcraft.jsch.jce.*
-keep class com.jcraft.jzlib.ZStream
-keep class com.jcraft.jsch.Compression
-keep class org.ietf.jgss.*
-dontwarn org.ietf.jgss.**
-dontwarn com.jcraft.jsch.**

-keepattributes Signature, InnerClasses

-keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
}

-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

-dontwarn javax.annotation.**

-dontwarn kotlin.Unit   

-dontwarn afu.org.checkerframework.**
-dontwarn org.checkerframework.**
-dontwarn com.google.errorprone.**
-dontwarn sun.misc.Unsafe
-dontwarn java.lang.ClassValue

I assumed that the problem is coming from Proguard, because i can normally generate an APK without it. I've also tried to add different 'com.android.support:support-annotations:xx' implementations before syncing project but the problem persists.

The project is imported from a git repo.

解决方案

The problem is solved! I needed to add

implementation 'com.android.support:support-annotations:28.0.0' under

dependencies in android/app/build.gradle in my library. The message warning was enough explicit to do that, but I didn't think about modifying the library dependencies.

这篇关于找不到满足版本限制的'com.android.support:support-annotations'版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆