使用百度地图,高德地图

版权声明:转载请申明出处,谢谢 https://blog.csdn.net/qq_35495763/article/details/86650996

update time:2019-1-27 Author:要你命三千又三千 type:学习笔记

补语

在使用百度地图后,发现没法解决的问题,使用高德地图:两者使用的接口,配置等都是极其相似的(几乎一模一样的)

问题一

applicationId (gradle 指定的应用id)与package(在xml中的包名)的区别

applicationId在Android系统中是作为应用的唯一标识,即在一个Android设备中所有的应用程序的applicationId都是唯一的。一旦你已发布的程序使用了这个applicationId,你就无法再修改它。如果修改了,那么这个应用程序就会被系统当作是一个全新的应用程序,和你之前的应用程序是相互独立的。

package name

在android studio中理解为一个查询类的路径比较合理,因为我们在配置四大组件的时候,name是可以缩写的,而package name就是我们可以省略的部分。

作用:
需要注意的是,我们在进行开发的时候,用到的一些三方sdk(例如友盟,百度等等)需要我们的包名,这的包名指得是applicationId而并非package name

使用操作上的差别

在eclipse中是没有applicationId这个概念的,在elcipse中applicationId即等同于package name,也就是我们清单文件中声明的package,它是作为一个应用的唯一标识。
而在android studio中将这两个概念进行了隔离,我们可以在gradle文件中配置applicationId作为应用的唯一标识,假如没有在gradle中进行相应配置,那么applicationId就会默认为package name

查看调试版本的数字签名

使用keytool 工具来查看
keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书
关键字:一个管理工具、公钥、私钥的管理
位置:是由java 提供的一个工具(jdk\bin(电脑安装的jdk 目录下))
查看口令: debug.keystore 的位置为个人配置目录下。

目录:C:\user<电脑用户>.android\debug.keystore
在这里插入图片描述
使用命令查看:
keytool -list -v -keystore <文件名>
在这里插入图片描述

问题补充:如何解决无法识别keytool 命令

问题错误提示:‘keytool’ 不是内部或外部命令,也不是可运行的程序

原因:keytool没有加入到系统的环境中,所有无法识别
解决方法:
方法一

找到工具目录,如同将jdk 添加系统的环境中一样,将keytool加入到系统的环境中。

方法二

直接将命令行到达keytool所在目录,然后,使用命令,加上文件的绝对路径即可,如上图。

配置公钥:

Android 要求所有 APK 必须先使用证书进行数字签署,然后才能安装。本文档介绍了如何使用 Android Studio 签署您的 APK,包括创建和存储证书、使用不同证书签署不同的构建配置,以及配置构建流程以自动签署您的 APK.

这是一篇谷歌的官方文档,内容详细
参考文档:https://developer.android.google.cn/studio/publish/app-signing#sign-auto

调试用的数字签名

从 IDE 中运行或调试您的项目时,Android Studio 将自动使用通过 Android SDK 工具生成的调试证书签署您的 APK。当您在 Android Studio 中首次运行或调试项目时,IDE 将自动在 $HOME/.android/debug.keystore 中创建调试密钥库和证书,并设置密钥库和密钥密码

关键字:自动生成调试证书,自动创建秘钥库和证书。不能用于发布(大多数应用商店(包括 Google Play 商店)都不接受使用调试证书签署要发布的 APK。)

问题:关于调试证书有效期过期的问题

解决方法:删除秘钥库,重新创建运行应用即可。
原理:
调试证书的有效期问题

用于针对调试签署 APK 的自签署证书的有效期为 365 天,从其创建日期算起。当此证书到期时,您将收到一个构建错误。若要修复此问题,删除 debug.keystore 文件即可

如何生成秘钥库

生成密钥和密钥库

您可以使用 Android Studio 生成应用签名或上传密钥,步骤如下:
在菜单栏中,点击 Build > Generate Signed APK。
从下拉菜单中选择一个模块,然后点击 Next。
点击 Create new 以创建一个新密钥和密钥库。
在 New Key Store 窗口上,为您的密钥库和密钥提供以下信息
在 Android Studio 中创建新的密钥库。
密钥库
Key store path:选择创建密钥库的位置。
Password:为您的密钥库创建并确认一个安全的密码
密钥
Alias:为您的密钥输入一个标识名。
Password:为您的密钥创建并确认一个安全的密码。此密码应当与您为密钥库选择的密码不同
Validity (years):以年为单位设置密钥的有效时长。密钥的有效期应至少为 25 年,以便您可以在应用的整个生命期内使用相同的密钥签署应用更新。
Certificate:为证书输入一些关于您自己的信息。此信息不会显示在应用中,但会作为 APK 的一部分包含在您的证书中。
填写完表单后
,请点击 OK。
如果您想生成一个使用您的新密钥签署的 APK,则继续转到手动签署 APK,如果您只想生成一个密钥和密钥库而不签署 APK,则点击 Cancel。
步骤二
点击 Build > Generate Signed APK 以打开 Generate Signed APK 窗口。(如果您刚刚按上述说明生成了一个密钥和密钥库,则此窗口已处于打开状态。)
在 Generate Signed APK Wizard 窗口上,选择一个密钥库和一个私钥,并为它们输入密码。(如果您刚刚在上一部分中创建密钥库,这些字段将自动填充。)然后,点击 Next。
注:如果您使用 Google Play 应用签名,您应在此处指定您的上传密钥。如果改为自行管理您的应用签名密钥和密钥库,您应指定您的应用签名密钥。如需了解详细信息,请参阅上文的管理您的密钥。
图 4. 在 Android Studio 中选择一个私钥。
在下一个窗口上,为签署的 APK 选择一个目的地、选择构建类型、选择产品风味(如果适用),然后点击 Finish.

通过以上步骤可以,确定开发 版的秘钥位置
在这里插入图片描述
然后使用命令查看自己开发版本的秘钥库即可
在这里插入图片描述
填入到百度创建的开发版本中
在这里插入图片描述

关于java 中手机版本支持的abi的获取问题

问题背景:

ABI全称:Application binary interface(应用程序二进制接口),定义了一套规则,允许编译好的二进制目标代码能在所有兼容该ABI的操作系统中无需改动就能运行。
不同的Android手机使用不同的CPU,因此需要提供对应的二进制接口交互规则(即对应的ABI文件)才能进行交互
关键字:不同的cup支持不同的abi规则。

主流的ABI架构

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年以后的生产的大部分Android设备都使用它。
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。

作者:niknowzcd
链接:https://www.jianshu.com/p/d2119b3880d8
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

查看机器对应的
String CPU_ABI=android.os.Build.CPU_ABI(API 21: Android 5.0 被丢弃)

本机代码的指令集名称(CPU类型+ ABI约定)

代替的代码(api >=21的时候使用):

String[] abi = android.os.Build.SUPPORTED_ABIS;

此设备支持的ABI的有序列表。 最优选的ABI是列表中的第一个元素。

关于显示百度地图的使用

请参考百度官方指导

高德地图的使用

这里只是高德的简单入门

dependencies {
     /**
     * 添加高德sdk
     */
    implementation 'com.amap.api:3dmap:latest.integration'
    implementation 'com.amap.api:map2d:latest.integration'
   // implementation 'com.amap.api:navi-3dmap:latest.integration'
    implementation 'com.amap.api:search:latest.integration'
    implementation 'com.amap.api:location:latest.integration'
    }

在这里插入图片描述
参考文档:高德地图的使用指导

这里可以使用高德地图开发一个天气系统,具体参考参看文档。
可以调用服务器的api 来查询使用
可以利用android中的sdk API来获取

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/86650996
今日推荐