新建android项目报错r
2018-07-04 13:17:00 weixin_34227447 阅读数 20

        提示的错误是Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.

        大概意思是:support-annotations这个依赖冲突,APP的解决版本是26.1.0, 测试APP版本为27.1.1。可是我明明没有导入support-annotations依赖啊。

1171802-bada8928edb2d69f.png
出错版本依赖列表

        查看External Libraries,确实存在两个support-annotations版本依赖。

1171802-3262458846a64126.png

这到底是怎么回事呢?

原来,'com.android.support.test.espresso:espresso-core:3.0.2' 有'com.android.support:support-annotations:27.1.1'的引用。

解决办法:加入

configurations.all {

    resolutionStrategy.force'com.android.support:support-annotations:26.1.0'

}

2014-04-20 00:38:06 kaiyoushiwo007 阅读数 2246
android 
要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 
preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始开发 
android程序,那么很可能出现debug keystore过期,导致你无法生成 apk文件。我调了一下系统时间,就出现以下错误。此时你只要删除debug 
keystore就行,系统又会为你生成有效期为一年的私钥。

[2011-08-29 19:47:03 - 
helloworld] Error generating final archive: Debug certificate expired on 10-6-18 
下午10:12!
 
C:\Documents and 
Settings\Administrator\.android文件夹,删掉debug.keystore和ddms.cfg两个文件,再重启eclipse
2018-06-01 11:26:16 xxx_19942 阅读数 755

最近一直在维护项目很久没有去新建项目了,然后今天突然想建一个项目熟悉一下各种东西,然后就试了一下,结果一开就新建好项目就开始编译报错了。报错内容如下: 

Error:Execution failed for task ':base:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':base'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

然后根据提示可以看到,是依赖包中有版本冲突,然后再模块中的build.gradle 找到依赖:

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

然后根据上面的提示可以知道是Androidtest的依赖和我们用的support包的冲突,然后只需要将test中的support依赖排除掉就可以了,改后的依赖是这样的:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.2',{
        exclude group: 'com.android.support', module: 'support-annotations'
    })

}
其他的可以根据个人依赖的情况而定。还有一个比较快捷的方式就是删除test的依赖,然后把androidTest文件夹删掉,但是这个前提是你不会进行单元测试
2015-06-10 14:54:00 weixin_30455067 阅读数 1

打开一年前的东西,结果发现里面的android项目全部有个红叉,也找不到错误。新建一个项目也报错,首先确定自己的环境应该没问题,然后通过查看网上的资料,发现可能是debug的keystore到期啦。

通过网上资料的引导,做以下操作:

1、进入C:\Documents and Settings\Administrator\.android 删除路径下的debug.keystore及 ddms.cfg(我只删除了debug.kestore也可以.网上说两个都删除)。
(不同环境下的目录可能略有不同,可在eclipse中查找此路径:Window->Preferences->Android->Build下 Default debug keystore)
2、进入eclipse,project  ---->clean即可成功解决问题。

具体分析:

在android程序中都需要有签名。一般在开发过程中,adt使用debug keystore。通过preference->android->buid可以设置其路径。debug的keystore有效期一般为一年,如果你是一年开发的android程序,那么很可能现在已过期,从而导致程序不能运行。但是为什么新建的程序也不能运行呢,因为使用了同一路径下的keystore。因此,需要删除debug keystore,使得系统重新为你生成新的keystore.

转载于:https://www.cnblogs.com/gaopeng527/p/4566041.html

没有更多推荐了,返回首页