我刚刚将Android Studio从1.5升级到2.2,现在运行我的应用程序时出现错误:
安装失败,因为APK未签名或签名 不正确。如果这是一个基于Gradle的项目,那么请确保 签名配置在Gradle构建脚本中指定。
我已经用Google搜索了,没有任何对我有用,我的gradle文件是:
...
android {
signingConfigs {
myapp_signed {
keyAlias 'mkey'
keyPassword 'pwd'
storeFile file('.../_keystore.jks')
storePassword 'pwd'
}
}
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId '...'
minSdkVersion 14
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.myapp_signed
}
}
productFlavors {
}
}
...
有人知道如何解决这个问题吗?在我收到此错误之前,我收到了另一个错误,即:
警告:需要Gradle版本2.10。当前版本是2.2。如果 使用gradle包装器,尝试编辑distributionUrl C:\用户\ blahblah \ MyProject的\ gradle这个\包装\ gradle-wrapper.properties to gradle-2.10-all.zip
我解决了这个"Gradle Version 2.10 is required." Error
修改 即使我将构建变量切换回调试,卸载应用程序并再次尝试我也会遇到同样的错误。
答案 0 :(得分:2)
对我来说,解决方案是,更新我使用的所有库并更新到Android 23。 也许这有助于某人。
答案 1 :(得分:1)
默认情况下,Android Studio 2.2和Gradle 2.2的Android插件会使用Signature Scheme v2为您的应用签名。将 v2SigningEnabled false 添加到signingConfigs
可能会解决您的问题。
signingConfigs {
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
v2SigningEnabled false
}
}
REF。 https://developer.android.com/preview/api-overview.html#apk_signature_v2
答案 2 :(得分:0)
作为参考,我的签名配置看起来像这样 - 不是我真正的密码:
signingConfigs {
release {
storeFile file("keystore/release.jks")
keyAlias "release"
storePassword "storepass"
keyPassword "keypass
}
debug {
storeFile file("keystore/debug.jks")
keyAlias "androiddebugkey"
storePassword "android"
keyPassword "android"
}
}
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
signingConfig signingConfigs.release
}
debug {
minifyEnabled true
zipAlignEnabled true
signingConfig signingConfigs.debug
}
}
答案 3 :(得分:0)
您是否尝试生成要使用的新密钥库? 就我而言,从gradle构建工具1.5.0升级到2.1.0后,我的旧密钥库文件不再起作用了 当我试一试时,我感到很惊讶......
答案 4 :(得分:0)
显然问题是将gradle降级到版本2.1.0
classpath 'com.android.tools.build:gradle:2.1.0'
答案 5 :(得分:0)
如果您在调试模式下仍然出现此错误,则只需清理您的项目,然后再次运行。这对我有用了
P.S:我正在使用Android 2.2 Beta