您的位置:首页 > 移动开发 > Android开发

Android studio apk直接发送到手机无法使用的问题及扩展/apk签名/SHA1的获取

2017-09-08 15:56 363 查看
背景:

1、因为开发的APP是内部使用,公司不将其发布到各大应用市场;

2、前两天同事需将开发的APP拿去外面给客户做演示。所以将工具(eclipse)编译好的apk直接发给同事。

3、出差的同事已经到了省外。。。

4、发现APP存在的一个Bug,及时修复,通过QQ发给同事。

=============================================================

背景交代完毕,开始主题;

将项目从eclipse导入到Android studio ,通过AS编译后,在outputs文件夹中生成了一个app-debug.apk的apk。看名字就觉得有点儿怪异,于是不放心,自己先安装一下这个apk。果然~~安装不上该apk。错误如下:



提示是一个无效的安装包。

于是想到,eclipse有默认的帮每个apk都做一个默认的签名,所以安装到手机是没有问题的,那么AS是否也有呢?不用怀疑那么多,直接给apk签个名,不就好了。

签名步骤:



根据自己情况选择create new… 或者choose existing…



next,设置好keystore的各个配置信息(密钥文件的路径、密钥文件的密码、别名、密码、年限及开发者的信息)。



点击ok完成密钥的配置。

之后就是next—>finish的步骤了。在签名完成后,会生成一个发布版本的apk,在app目录下多了个release的文件夹,里面的app-release.apk就是我们签名后的,可以发给其他人安装的apk。





原本到这里就该结束了,但是在app里面集成了百度地图,所以又有了一个新的问题。

集成百度地图sdk,需要通过SHA1 + 包名的方式生成我们app中需要的appkey。



在eclipse中很容易就找到了



但是在Android studio 中,SHA1在哪里呢?

我也不知道啊(对Android studio 熟练度不够),百度吧。。在网上看了很多朋友写的博客,在这里我也自己整理下,以便自己查找方便。

和eclipse一样,他们都有两种SHA1。一种Debug版本的,一种release版本的。

获取也有两种方式。

通过控制台输入命令:

一、Debug版本的

进入 C盘—>用户名—>.android的文件夹。

输入命令 keytool -list -v -keystore debug.keystore 其中debug.keystore是studio默认的keystore,按回车,然后输入秘钥:android(系统默认的,不用输入),回车(秘钥库口令是看不到的)



二、release版本的

通过命令keytool -list -v -keystore (keystore所在文件目录)F:\xxxx\keystore\key.jks -storepass youpsd



这样就获取到我们所要的SHA1了,将它配置到百度地图中,生成自己的appkey吧。

在项目中重新编译,运行。百度地图使用正常了。

知识点稍微乱了一点,可以分成两篇写的,但是太懒了,就合成一篇了,权当自己随笔记录了。

如果对你有帮助,万分荣幸。如果没有~~~抱歉,自个再百度去吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐