生成签名apk时,幻数不匹配

时间:2018-03-06 15:08:12

标签: android android-studio apk signed

我正在尝试生成签名的apk但我收到以下错误。

我搜索过它,但没有找到任何可以解决这个问题的东西。

解决方案我已尝试

  • 使缓存无效/重新启动

  • 删除.gradle文件夹

  • 卸载android studio

我最近更新了最新版本3.0.1的工作室,虽然工作正常,但问题是从最近几天开始的。

请有人帮助我!

appsettings.json
appsettings.Development.json
appsettings.Staging.json

模块gradle

Magic number did not match
    java.lang.IllegalStateException: Magic number did not match
        at com.intellij.credentialStore.kdbx.KdbxSerializerKt.readKdbxHeader(KdbxSerializer.kt:146)
        at com.intellij.credentialStore.kdbx.KdbxSerializer.createUnencryptedInputStream(KdbxSerializer.kt:61)
        at com.intellij.credentialStore.kdbx.KdbxStreamFormat.load(kdbx.kt:55)
        at com.intellij.credentialStore.kdbx.KdbxKt.loadKdbx(kdbx.kt:36)
        at com.intellij.credentialStore.KeePassCredentialStore.<init>(KeePassCredentialStore.kt:82)
        at com.intellij.credentialStore.KeePassCredentialStore.<init>(KeePassCredentialStore.kt:44)
        at com.intellij.ide.passwordSafe.impl.PasswordSafeImplKt.computeProvider(PasswordSafeImpl.kt:38)
        at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.<init>(PasswordSafeImpl.kt:46)
        at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.<init>(PasswordSafeImpl.kt)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
        at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
        at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
        at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
        at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:228)
        at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:239)
        at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:206)
        at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:48)
        at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:38)
        at com.intellij.ide.passwordSafe.PasswordSafe.getInstance(PasswordSafe.java:28)
        at org.jetbrains.android.exportSignedPackage.KeystoreStep.<init>(KeystoreStep.java:71)
        at org.jetbrains.android.exportSignedPackage.ExportSignedPackageWizard.<init>(ExportSignedPackageWizard.java:110)
        at org.jetbrains.android.actions.GenerateSignedApkAction.actionPerformed(GenerateSignedApkAction.java:74)
        at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215)
        at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232)
        at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:309)
        at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:929)
        at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)
        at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
        at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:116)
        at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
        at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)
        at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:118)
        at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)
        at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:116)
        at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)
        at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)
        at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)
        at java.awt.Component.processMouseEvent(Component.java:6541)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at java.awt.Component.processEvent(Component.java:6306)
        at java.awt.Container.processEvent(Container.java:2237)
        at java.awt.Component.dispatchEventImpl(Component.java:4897)
        at java.awt.Container.dispatchEventImpl(Container.java:2295)
        at java.awt.Component.dispatchEvent(Component.java:4719)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
        at java.awt.Container.dispatchEventImpl(Container.java:2281)
        at java.awt.Window.dispatchEventImpl(Window.java:2746)
        at java.awt.Component.dispatchEvent(Component.java:4719)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
        at java.awt.EventQueue.access$500(EventQueue.java:98)
        at java.awt.EventQueue$3.run(EventQueue.java:715)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
        at java.awt.EventQueue$4.run(EventQueue.java:737)
        at java.awt.EventQueue$4.run(EventQueue.java:735)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

app gradle

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}
android {
    compileSdkVersion 27
    buildToolsVersion "27.0.0"

    defaultConfig {
        applicationId "com.chigz.awesomegallery"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 4
        versionName "1.3"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    dexOptions {
        jumboMode true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.android.support:design:27.0.2'
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
    compile 'com.facebook.fresco:fresco:1.8.0'
    compile 'com.android.support:cardview-v7:27.0.2'
    compile 'com.android.support:support-v4:27.0.2'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.8.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile 'com.jakewharton:butterknife:8.8.1'
    compile 'com.intuit.sdp:sdp-android:1.0.4'
    compile 'info.hoang8f:android-segmented:1.0.6'
    compile 'com.github.clans:fab:1.6.4'
    compile 'com.gjiazhe:scrollparallaximageview:1.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    compile 'com.google.android.gms:play-services-ads:11.0.2'

    // androidTestCompile'com.android.support.test:runner:1.0.1'
    compile 'com.flaviofaria:kenburnsview:1.0.7'
    compile 'com.wang.avi:library:2.1.3'
    compile 'com.github.hoanganhtuan95ptit:EditPhoto:1.0.1'
    compile 'com.github.bumptech.glide:glide:3.8.0'
    compile 'com.eftimoff:android-viewpager-transformers:1.0.1@aar'
    compile 'com.github.ceryle:SegmentedButton:v2.0.2'
    implementation 'com.github.chrisbanes:PhotoView:2.1.3'
    compile 'com.andrognito.pinlockview:pinlockview:2.1.0'
    compile('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
        transitive = true;
    }
}

2 个答案:

答案 0 :(得分:1)

defaultConfig 中添加multiDexEnabled = true

defaultConfig {
    applicationId "com.chigz.awesomegallery"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 4
    versionName "1.3"
    multiDexEnabled = true // important
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

答案 1 :(得分:1)

我前几天遇到了同样的问题。对我有用的是使用不同的JDK版本。要解决此问题,请按照 Ben Kane 回答的How to specify the JDK version in android studio?步骤进行操作。完成后做干净的构建。