簡體   English   中英

安裝失敗,因為APK未簽名

[英]Installation failed since the APK was either not signed

我剛剛將Android Studio從1.5升級到2.2,現在運行我的App時出現錯誤:

安裝失敗,因為APK未簽名或簽名不正確。 如果這是基於Gradle的項目,請確保在Gradle構建腳本中指定了簽名配置。

我已經谷歌搜索了,沒有任何對我有用,我的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包裝器,請嘗試將C:\\ Users \\ blahblah \\ myproject \\ gradle \\ wrapper \\ gradle-wrapper.properties中的distributionUrl編輯為gradle-2.10-all.zip

我解決了這個問題“Gradle Version 2.10是必需的。” 錯誤

編輯:即使我將構建變量切換回調試,卸載應用程序並再次嘗試我得到相同的錯誤。

對我來說,解決方案是,更新我使用的所有庫並更新到Android 23.也許這有助於某人。

默認情況下,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

作為參考,我的簽名配置看起來像這樣 - 不是我真正的密碼:

 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
    }
}

您是否嘗試生成要使用的新密鑰庫? 在我的情況下,我從gradle構建工具1.5.0升級到2.1.0之后,我的舊密鑰庫文件不再工作了。當我試用它時讓我感到驚訝...

顯然這個問題讓我們將gradle降級到版本2.1.0

    classpath 'com.android.tools.build:gradle:2.1.0'

如果即使在調試模式下仍然出現此錯誤,則只需清理項目並再次運行 這對我有用

PS:我使用的是Android 2.2 Beta

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM