Android Studio 教你在debug调试模式下使用正式签名

这个问题是我在配置QQ第三方登陆时遇到的,QQ第三方登陆如果上传正式发布包到腾讯应用宝,也就是正式版的签名,测试三方登陆时也只能用正式签名测试,对于开发者来说,实在太痛苦了,因为开发者做测试都是运行起来都是在debug模式下,签名也是debug模式下的签名。腾讯开放平台有一个应用调试者QQ号测试,不知道是不是填写了开发者的QQ号之后就可以用正式版的签名做第三方登陆测试了,每次我点击添加,结果就这样提醒我。

Android Studio 教你在debug调试模式下使用正式签名_第1张图片

微信第三方登陆,平台还可以修改签名,就可以很好地解决这个问题。

Android Studio 教你在debug调试模式下使用正式签名_第2张图片



这里,教大家一个方法,在debug模式下配置正式包签名。以后测试QQ等第三方登陆就没问题啦。


在build.gradle,注意是app的build.gradle里的android{ }里按下面配置代码


signingConfigs里配置了2个签名,一个正式版的签名和一个debug模式的签名。

其中keyAlias是签名的别名,keyPassword是签名密码,storeFile file是签名文件所在文件夹位置,我这里是放在和app同级目录下。

在defaultConfig和buildTypes做如下配置就可以了,大功告成。

    signingConfigs {
        release {
            keyAlias '###'
            keyPassword '******'
            storeFile file('../###.jks')
            storePassword '******'
        }
        config {
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            storeFile file('./debug.keystore')
            storePassword 'android'
        }
    }

    defaultConfig {
        applicationId "******" //包名
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 9
        versionName "1.9"
        signingConfig signingConfigs.release
    }


    //配置debug模式下,使用正式版签名,此操作主要为了方便调试微信,新浪等第三方登录授权
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable true
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.release
        }
    }


有时候项目需要开源,build.gradle文件就公开了,正式签名的信息也就公开了,签名信息泄露是一件很不安全的事情。为了做好信息保密,我们还可以做如下配置,保证签名信息的安全。重新修改签名信息配置signingConfigs如下,其中的RELEASE_KEY_ALIAS,RELEASE_KEY_PASSWORD等签名信息存储在gradle.properties里面。


Android Studio 教你在debug调试模式下使用正式签名_第3张图片

RELEASE_KEY_PASSWORD=****** //签名密码
RELEASE_KEY_ALIAS=****** //签名别名
RELEASE_STORE_PASSWORD=****** //store密码
RELEASE_STORE_FILE=***.jks //签名文件地址

signingConfigs {
        release {
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
        }
        config {
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            storeFile file('./debug.keystore')
            storePassword 'android'
        }
    }

OK,经过上面的配置,在Android Studio debug调试模式下就可以正常使用正式签名去调试QQ等第三方登陆分享啦!

你可能感兴趣的:(Android)