《Android studio 创建生成keystore SHA1值的申请 高德地图key值申请 android studio 打包生成apk》

本文主要是介绍《Android studio 创建生成keystore SHA1值的申请 高德地图key值申请 android studio 打包生成apk》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       开发背景:目前做车载项目,领导要求用高德地图。整理了一下,差不多就是下面的目录:

一、创建生成keystore;

二、SHA1值的申请;

三、高德地图key值申请;

四、android studio 打包生成apk;

       好了,废话不多说,直接开始图文说明:

一、keystore

(一)android studio界面找到菜单栏 Build 选择Generate Signed APK  子菜单。

(二)点击Greate new ...  也就是在内有key  store  的情况下  创建,按字面意思理解即可。

(三)下面是 new Key Store  界面

      1.key store phth: 也就是keystore  放的本地位置,考虑到安全问题,一般都放在android studio软件文件夹下面。

名字可以随意填写(如:DemoKey)后最默认为“.jks”.

      2.password:   密码的设置我习惯直接用“android”,因为debug.store默认的就是“android”,方便记忆。当然你也可以严谨一点,设立其他密码。前提是要记住,不然后面又要重新创建。

      3.Alias:  别名署名也是任意的,可用项目名+key,方便记忆。

      4.password:密码也一样,可以随意,但是一定要记住。因为打包apk的时候需要用到。

      5.Validity(years):  有效期根据需要调整,默认为25年

      6.Certificate:证书内容如果不是正式发布版本,可以随意填写。

            (1)First and Last Name:   开发者姓名

            (2)Organizational Unit:  组织单位

            (3)Organization:  机构

            (4)City or Locality:  地区或者城市

            (5)State or Province:  州或者省

            (6)Country Code (xx):  国家代码  中国应该是 zh

       7.最后点击 ok按钮,即可去相应的路径看到 keystore (后最为 .jks)文件了。

二、SHA1值申请

      (一)window + R   弹出运行框

      (二)输入cmd,然后确定

      (三)cd jdk的bin目录,cd是搜索查询的意思,jdk路径一般默认在C盘,开发者可以根据自己的具体地址填写。

      (四)数据bin目录安回车键,如果输入的jdk位置正确,也会进入相应的位置。bin目录下有很多的工具,我们要用的是keytool  工具 。输入  key -list -v -keystore 指令(注意:空格一定要空一格,不然可能识别不了)。口令后面接的是上面我们生成的 DemoStore地址。如下图:

      (五)回车会出现“输入密钥库:”的字样。输入密码“android”

            1.注意:他是隐身的,别输错,也别觉得他是“妖怪”;

            2.前面也说了keystore是可以有多个的。如果是debugStrore,默认密码是android,如果是发布版本的keyStore的话,密码是你当初设置的那个密码。(忘了?那下次设置的时候一定要记住)

      (六)密码输入后,按回车键即可。如果以上都没有输错,证书就会出来咯。里面已有相应的数据,当然我们要的是SHA值。

三、高德地图key值申请

      (一)百度“高德开放平台”,进入后注册账户,成为开发者;

      (二)找到我的应用,然后创建新的应用;

      (三)根据需求填写数据;

         注意的地方是"发布版安全码SHA1"和“调试版安全码SHA1”的区别:区别在于前者是用自己生成的keystore获取的SHA1,后者是发开着电脑上默认的debugStore,默认的有一个特点,不管你用那个项目,获取的SHA1值是相同的,因为同一台电脑用的是同一个kebugStore。这个需要注意,本人刚开始研究这个的时候,就一直无法区别,导致绕不出那个“怪圈”。

      (四)同意协议,提交,把生成的key值放到你的清单配置文件中:

<!-- 高德地图key -->
<meta-dataandroid:name="com.amap.api.v2.apikey"android:value="你申请的key值" />

     (五)还就是需要添加相应的权限:

<!-- 地图包、搜索包需要的基础权限 -->
<!-- 允许程序打开网络套接字 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允许程序设置内置sd卡的写权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许程序获取网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 允许程序访问WiFi网络信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 允许程序读写手机状态和身份 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 允许程序访问CellID或WiFi热点来获取粗略的位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

      (六)还有一个比较麻烦的就是android 6.0 版本的适配,需要另外申请权限,可参考官网API

      (七)下面是最重要的,高德SDK的选择问题,建议先考虑用低版本的。

             理由:

            1.可参考的Demo更多,提高效率;

            2.新版本的SDK可能cpu版本对应的ABI可能还没有开发出来。如现在的最新版本(2016.10.25)x86就无法适配,这样就很容易出现跟其他第三方框架冲突。如vitamio视频框架。别跳这个坑,不然得重新做。

四、android studio 打包生存apk

        (一)经过上面的内容打包就容易了:Build -->Generate Signed APK...;

       (二)申请好keystore,填写密码,直接next;

       (三)apk生成

            1.APK Destination Folder:  生成路径,可以选择跟debug.apk路径相同;

            2.Build Type:  类型看你个人需要。给别人测试,用kebug。用来发布,用release.然后Finish.

            3.根据路径就可以看到我们要生成的apk文件了。

       开发心得:对于代码编写来说,作为新手来说很难一步到位,实在不行我们就只能百度。对于这一点我觉得不是最终要的问题。我们更多的是需要学习“编程思想”,而不能一味的复制粘贴。

       想想一个功能的逻辑,尝试把他画出来,如果搞不定,多跟别人交流。总之,多思考,不要急于下手写代码,把思路撸清楚。共勉!

这篇关于《Android studio 创建生成keystore SHA1值的申请 高德地图key值申请 android studio 打包生成apk》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928045

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1