最近学习android时遇到生成APK问题,在学习后特来记录一下,以防忘记。
在完成Android程序后,想生成APK却发现地图为网格,显示不出地点。在以前调试时均可以显示地图,排除是因为包名与ak不一样的原因,通过上网搜索后得知是因为当时申请key时会有两个SHA1,在最初时两个SHA1均选择了相同的,现在要将发布版改为新生成的SHA1,具体步骤如下:
1.点击File\Other settings\Default Project Structure…
将JDK的✔去掉,然后将路径修改为java的JDK的路径。
点击ok。
2.先从android studio中生成一个自己的签名文件,安卓的签名文件格式为.jks
选择为APK后点击next。
点击creat new…,然后next。
将key store path选择一个路径,例如图为D:\android_project,后边的名字以及拓展名自己手打上,不必提前在该路径里新建这样的文件。密码以及确认填好,年限如图是25年,可修改。填完后点击ok。
点击next。
选择V1(Jar Signature).然后点击Finish即可。
成功后会如图所示,点击locate可以查看生成的apk的位置
3.打开cmd,找到keytool所在的位置(在Java\jdk\bin里),如图在这条命令后输入
keytool -list -v -keystore 和debug.keystore的路径。点击enter后,出现秘钥库口令,不必输入,直接点enter就可以。指纹证书的SHA1即开发版SHA1。
将debug.keystore的路径改为刚才选择的demo.jks的路径就可以得到发布版的SHA1。
将两个SHA1在百度地图开发平台填好后提交,在代码里改好key的值,运行即可。
刚学习android,才疏学浅,若有错误,望指正。