在使用第三方登陆的时候,如果程序是debug的情况下,QQ会提示让你去应用宝下载安装该应用(我就不去,开什么玩笑,还没测试完就逼我上线),微信也会拒绝向你授权登陆,那么我们如何在debug的模式下获得相关授权呢,跟着我 看流程
1、在APP module的 gradle文件里面添加:
signingConfigs {
release{
storeFile file('../***.jks')
storePassword '******'
keyAlias '******'
keyPassword '******'
}
debug{
storeFile file('../**.jks')
storePassword '******'
keyAlias '***'
keyPassword '******'
}
}
看到这里应该会有人觉得好奇,为什么我的jks路径跟别人的不一样,别人都是放绝对路径,而我的路径是酱紫呢?其实我也想放绝对路径,但是我的不行啊,所以为了使用指定位置的签名文件,只好对路径进行回退使用相对路径。当然更省事的办法就是直接将jks文件copy到 项目的app文件夹里面,这样可以将 storeFile file('../**.jks') 改成 storeFile file('**.jks'),这样看起来更利索一些
2、buildTypes节点添加如下:
release {
minifyEnabled true // 混淆
zipAlignEnabled true // 减小压缩包
shrinkResources true // 删除
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// 这两句是要添加的
debuggable true
signingConfig signingConfigs.release
}
// 这个也要有
debug{
signingConfig signingConfigs.release
}
行了,到这里结束了,不过要提醒大家的一点就是signingConfigs 节点要在buildTypes之前,否则会出错
全部的gradle文件如下:
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "************"
minSdkVersion 17
targetSdkVersion 28
versionCode 15
versionName "1.5.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'x86'
}
multiDexEnabled true
useLibrary("org.apache.http.legacy")
}
signingConfigs {
release{
storeFile file('../***.jks')
storePassword '***'
keyAlias '***'
keyPassword '***'
}
debug{
storeFile file('../***.jks')
storePassword '***'
keyAlias '***'
keyPassword '***'
}
}
buildTypes {
release {
minifyEnabled true // 混淆
zipAlignEnabled true // 减小压缩包
shrinkResources true // 删除
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true
signingConfig signingConfigs.release
}
debug{
signingConfig signingConfigs.release
}
}
}