2016-05-20 34 views
3

我升級我的Android工作室從1.5到2.2,現在運行我的應用程序時出現錯誤:安裝失敗,因爲APK要麼沒有簽訂

Installation failed since the APK was either not signed, or signed incorrectly. If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.

我已經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 { 
    } 
} 
... 

有沒有人知道如何解決這個問題?之前,我得到這個錯誤,我有另外一個錯誤,這是說:

Warning:Gradle version 2.10 is required. Current version is 2.2. If using the gradle wrapper, try editing the distributionUrl in C:\Users\blahblah\myproject\gradle\wrapper\gradle-wrapper.properties to gradle-2.10-all.zip

我解決了這樣的"Gradle Version 2.10 is required." Error

編輯: 即使我切換建立變種回調試,卸載應用程序,再試一次我得到同樣的錯誤。

+0

是否使用「...」的文件路徑或者是隻是爲了掩蓋個人信息? –

+1

這只是爲了obsucre個人信息:D –

+0

可能的重複: http://stackoverflow.com/questions/28884929/android-studio-installation-failed-since-apk-was-not-signed –

回答

2

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

0

僅供參考,我的簽字CONFIGS看起來像這樣 - 不是我真正的密碼:

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

只是忘了隱瞞一些更多個人信息:D gradle是由android工作室自動生成的,我會嘗試它,就像你做的那樣 –

+1

@LucaThiede,確定更新了我的答案,以刪除對不匹配的簽名配置名稱的引用。 –

+0

它仍然無法正常工作 –

0

你嘗試生成一個新的密鑰庫使用? 在我的情況下,我的舊密鑰庫文件不再工作後,我從gradle生成工具1.5.0升級到2.1.0 它讓我感到吃驚當我試用它...

+0

是的,我創建了一個新的keysrore,但它仍然無法正常工作。此外,它甚至不能在調試模式下工作,Android Studio使用默認密鑰庫,如果這會被破壞,我的其他應用程序不應該工作,要麼他們? –

1

默認情況下,Android Studio 2.2和Android插件for Gradle 2.2使用Signature Scheme v2簽名您的應用程序。添加v2SigningEnabled falsesigningConfigs可能會解決您的問題。

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

+0

錯誤消息中沒有任何內容表明這與APK簽名方案v2有關。 –

0

顯然的問題是錯誤我們的gradle降級到2.1.0版本

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

,如果你還是收到這個錯誤甚至在調試模式下則只是清潔項目和運行一次。制定出適合我

P.S:我使用的是Android 2.2測試版

相關問題