解析:出现这种情况主要是因为在团队开发中,大家很少会统一签名文件debug.jks,从搭建自己的IDE开始,AndroidStudio会自动生成一个默认的签名文件debug.keystore(一般存放在C:\Users\用户名\.android文件夹中)。如果项目中集成了地图,大家的签名文件因为不一样所以会报INVALID_USER_SCODE错误。这么简单的道理毋庸置疑,那么我们怎么样在团队开发中使用相同的签名文件呢。
两种解决方法:
第一种,最简单粗暴-集成地图的开发人员将他的签名文件发一份给其他组员进行替换;
第二种,将签名文件配置到项目中,在gradle中指定签名文件。(这种比较好)
开始操作:
1,集成高德地图的时候,看下是哪个将它的SHA1放进去了。
如果不了解了,查看高德地图平台
2,查看工程的jks,首先切换到jks或者是debug.kestore。其中debug.kestore是在C:\Users\用户名\.android文件夹下面。然后keytool -list -v -keystore 秘钥文件名(debug.kestore/~~.jks);输入密码,如图
然后在里面可以和高德地图的SHA1进行对比,从这里可以获取到别名。
(这里面有个需要注意的地方:很多人都是获取debug.keystore的时候,都是直接敲回车键的。其实敲回车键相当于默认密码。而debug.keystore默认密码为android。即
默认debug.keystore的信息如下:
Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
)
3,在Android studio你的工程上面操作。在APP的build.gradle文件上将查询到的签名搞进去即可。
注意将signingConfigs放在android里面。类似下边。
android {
signingConfigs {
release {
storeFile file("debug.keystore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
debug {
storeFile file("xxx.jks")
storePassword "xxxx"
keyAlias "key0"
keyPassword "xxxx"
}
}
}
其中,debug.keystore和xxx.jks和build.gradle处于同一个目录下
4,需要Clean Project和Rebuild Project。不然有可能还是会出现问题