安装失败,因为APK未签名

时间:2016-05-20 17:34:18

标签: android android-studio android-gradle build.gradle

我刚刚将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

修改 即使我将构建变量切换回调试,卸载应用程序并再次尝试我也会遇到同样的错误。

6 个答案:

答案 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