Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'

今天手动配置测试apk签名的时候报了如下的错误:

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'

所以使用了下面的自动生成的方法来配置

我们使用Android Studio 运行或测试我们的app  它使用一个默认的debug.keystore进行签名。

这个默认签名(keystore)是不需要密码的,它的默认位置在 $HOME/.android/debug.keystore,如果不存在Android studio会自动创建它。

例如我的debug.keystore就在C:\Users\Administrator\.android\debug.keystore。但是我们正式发布项目的时候是不能使用debug.keystore的。

如何使用Android Studio创建一个新的keystore,并发布我们的apk,至于签名文件的创建这里就不再叙述

下面我们来配置如何在debug的时候使用我们自定义的keystore。

第一步:还是要新建一个keystore,就用正式发布项目的release.keystore就可以

第二步:点击File—>ProjectStructure,如下图所示:

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'_第1张图片

然后看图就可以了,选择路径,把密码填上,该填的都填好。

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'_第2张图片

点击ok后app的build.gradle里面就会出现如下的内容:

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'_第3张图片

第三步:分别选择debug和release 都设置为刚才填进去的keystore。

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'_第4张图片

点击ok后app的build.gradle里面就会出现如下的内容:

Keystore file 'D:\asdemo\MyViewPagerFragment\app\key\umeng.jks' not found for signing config 'debug'_第5张图片

这样就配置完成了,debug测试apk也使用了正式发布项目的签名

apply plugin: 'com.android.application'

android {
    signingConfigs {
        android_studio_app {
            keyAlias 'key'
            keyPassword '123456'
            storeFile file('D:/asdemo/MyViewPagerFragment/key/umeng.jks')
            storePassword '123456'
        }
    }
    compileSdkVersion 25
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.example.a31210.myviewpagerfragment"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.android_studio_app
        }
        debug {
            signingConfig signingConfigs.android_studio_app
        }
    }
    flavorDimensions "a"
    productFlavors {
        yingyongbao {
            dimension "a"
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
        }
        wandoujia {
            dimension "a"
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
        }
        xiaomi {
            dimension "a"
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    /*友盟统计需要的最新版本组件化基础库和统计SDK*/
    implementation 'com.umeng.sdk:common:latest.integration'
    implementation 'com.umeng.sdk:analytics:latest.integration'
}

 

你可能感兴趣的:(android进阶)