Android studio中关于如何签名apk和查询项目的SHA1
来源:互联网 发布:2017网络热点事件 编辑:程序博客网 时间:2024/06/17 15:36
今天自己做了一个关于地图的小Demo。虽然是仅仅实现了在界面中显示出地图的功能,但是在设计这个小Demo的过程中,还是遇到了一些基本的问题:如何得到项目的SHA1值。查找了许多资料,又不断的实验,才得出了正确的做法,因此有必要写下来,以防再用。
我的项目中使用了高德地图的Android SDK。在高德地图开发者平台申请Key值时需要填写“发布版安全码SHA1”。
那么问题来了,什么是SHA1?怎么得到SHA1呢?
第一个问题:
开发版SHA1:是指在开发调试时,从Android Studio或者Eclipse中直接运行的APP在打包时使用了开发工具默认的开发版(debug)签名文件,开发版签名文件对应有唯一的SHA1。
前提:签名文件keystore的别名默认为androiddebugkey,keystore默认路径为%USERPROFILE%\.android\debug.keystore(Windows操作系统下。若为Mac和Linux,此路径应该为~/.android/debug.keystore)和keystore的密码默认为android。
开发版SHA1:是指在开发调试时,从Android Studio或者Eclipse中直接运行的APP在打包时使用了开发工具默认的开发版(debug)签名文件,开发版签名文件对应有唯一的SHA1。
前提:签名文件keystore的别名默认为androiddebugkey,keystore默认路径为%USERPROFILE%\.android\debug.keystore(Windows操作系统下。若为Mac和Linux,此路径应该为~/.android/debug.keystore)和keystore的密码默认为android。
发布版SHA1:是指在提交测试或发布时,APP签名打包过程中选择的指定签名文件,一般此签名文件为开发者或者开发团队持有,与具体的开发工具无关,发布版签名文件同样也对应有唯一的SHA1。
点击后,生成如图所示对话框:
如果有keystore文件,点击图中的“Chooseexisting...”;如果你没有keystore文件,则点击图中的“Create new...”,生成如图对话框:
点击“OK”,返回到Generate Signed APK对话框,如图所示:
如果是之前选择的是Choose existing,则只需要添些Key store password和 Key password。点击Next,进入下一步:
点击Finish,完成,等一会,在界面中弹出如下图的对话框,点击Close完成对项目文件的签名。
接下来就是要获取安全码了,上面也提到了,获取安全码要通过Terminal中的keytool命令获取。Terminal的位置如图所示:
我查阅资料,获取安全码需要执行以下keytool命令:
我百度了一下,没有找到确切答案,但是还是提供了思路,这条keytool命令可能需要在jdk文件夹下才能正常执行。于是进行了尝试,很幸运,成功了。在这里的语句也是用cd 进入文件夹。输入正确命令后,回车。如图所示:
到此为止,就可以将sha1安全码复制去申请地图唯一的key值了。
参考文章地址:android studio获取SHA1和 MD5详解
前提:需要知道签名文件keystore中key的别名(非必需,可不填),keystore路径和keystore的密码。
第二个问题:
在AndroidStudio中的Terminal中使用keytool命令获取。
可以看到在第一个问题中涉及到了“签名文件Keystore”。也就是说,想要得到安全码SHA1,首先需要有签名文件。
也许,你现在还没有签名文件,那么就要创建一个签名文件。在Android studio中创建签名文件,通过菜单栏中的“Build ——> Generate Signed APK...”,如图所示:
第二个问题:
在AndroidStudio中的Terminal中使用keytool命令获取。
可以看到在第一个问题中涉及到了“签名文件Keystore”。也就是说,想要得到安全码SHA1,首先需要有签名文件。
也许,你现在还没有签名文件,那么就要创建一个签名文件。在Android studio中创建签名文件,通过菜单栏中的“Build ——> Generate Signed APK...”,如图所示:
点击后,生成如图所示对话框:
如果有keystore文件,点击图中的“Chooseexisting...”;如果你没有keystore文件,则点击图中的“Create new...”,生成如图对话框:
点击“OK”,返回到Generate Signed APK对话框,如图所示:
如果是之前选择的是Choose existing,则只需要添些Key store password和 Key password。点击Next,进入下一步:
点击Finish,完成,等一会,在界面中弹出如下图的对话框,点击Close完成对项目文件的签名。
接下来就是要获取安全码了,上面也提到了,获取安全码要通过Terminal中的keytool命令获取。Terminal的位置如图所示:
我查阅资料,获取安全码需要执行以下keytool命令:
keytool -v -list -keystore keystore我输入后,报错,后又查到输入另一条相似命令:
keytool -exportcert -list -v -keystore D:\keystore.jks回车之后还是报错,且报一样的错误,“Androidstudio获取sha1时提示'keytool' 不是内部或外部命令,也不是可运行的程序,” 如图中蓝色框所示:
我百度了一下,没有找到确切答案,但是还是提供了思路,这条keytool命令可能需要在jdk文件夹下才能正常执行。于是进行了尝试,很幸运,成功了。在这里的语句也是用cd 进入文件夹。输入正确命令后,回车。如图所示:
到此为止,就可以将sha1安全码复制去申请地图唯一的key值了。
参考文章地址:android studio获取SHA1和 MD5详解
0 0
- Android studio中关于如何签名apk和查询项目的SHA1
- Android Studio 中发布SHA1签名的APK
- android studio中如何获取sha1 码 和签名
- 查询Android Studio 项目的发布版Sha1和测试版Sha1
- Android Studio中如何查看获取MD5和SHA1值(应用签名)
- 关于android studio 下获取签名文件SHA1的方法
- MD5、SHA1和android apk签名杂谈
- MD5、SHA1和android apk签名杂谈
- Android Studio 中获取SHA1和MD5(应用签名)
- Android Studio中获取签名SHA1或MD5的方法
- Android Studio查看签名文件sha1和MD5的方法
- Android Studio中apk签名
- Android Studio 获得 SHA1签名的方法
- Android studio apk直接发送到手机无法使用的问题及扩展/apk签名/SHA1的获取
- android 开发 获取apk 信息和sha1值的项目
- Android studio 中查询release和debug版本的SHA1和MD5
- APK在Android Studio下如何签名
- Android 中获取签名md5 和sha1
- UIPickView
- Eclipse快速打开文件目录插件——Open Explorer
- VS2013创建dll动态链接库文件心得
- Codeforces Round #354 (Div. 2) D. Theseus and labyrinth (BFS)
- Memory中的Channel/Rank/Bank解析
- Android studio中关于如何签名apk和查询项目的SHA1
- ViewPager切换过来后,组件没有重新加载
- 增加MySql连接数
- Twitter开源大数据实时分析系统Heron:Heron架构
- 使用windows控制台调试服务的方法
- 浏览器控制台
- Swift资源库--官方文档的学习笔记
- mysql 备份 rsync
- Spring Security(09)——Filter