Android 中第三方 SDK 集成之高德地图集成指南
1、进入高德开放平台,网址为:http://lbs.amap.com/ , 注册登录成为高德开发者
2、高德开放平台—>开发与支持—>Android 地图 SDK—>开发指南
3、开发指南—>获取 Key,点击控制台—>创建新应用—>添加新 Key,出现如下界面:
需要输入开发版 SHA1 值和调试版 SHA1 值以及包名
4、Android 生成 keystore,两种方式【20170606】
http://blog.csdn.net/u013517637/article/details/54022109
一、eclipse 中生成 Android keystore
(1)建立任意一个 android 项目(例如:MapDemo)
(2)右键 MapDemo 根目录弹出菜单->Android Tools -> Export Signed Application Package...
出现:error1
使用 Android-tools 去打包程序,发现 Eclipse 报了这么个错误:This class should be public
(android.support.v7.internal.widget.ActionBarView.HomeView)
这个问题显然是可以 skip 的。
解决方案:菜单栏 window ——>Preferences——>Android——>Lint error Checking——>在 issues 搜索:Instantiatable
然后把对应的 severity 改为 warning 即可。
出现:error2
Android 应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic),
"ar" (Arabic).....
选择 Eclipse 打包应用程序的过程如下:
可是在这时,会出现如下提示:
并且原本没有错误的程序(values/strings.xml)也会出现如下错误提示:
原因如下:
在 Android SDK Tool r19 之后, Export 的时候遇到 xxx is not translated in yyy, zzz 的问
题。例如说"auto_name" is not translated in zh, zh_CN.这是因为 Android SDK Tool 將
ANDROID_LINT_COMPLETE_REGIONS 改为了需要检查。
如何解决呢?
其实,以上提示已经给我们答案。一种是“fix these before running Export ”,另一种是“turn off
'Run full error check when exporting app'”
方法如下:
先说后者:“turn off 'Run full error check when exporting app'“
(1)在 Eclipse 中打开 Preference,按下图操作:
(2)再说前者:“fix these before running Export ”
框中也给我们三种解决方法。
(1)If the string should not be translated, you can add the attribute translatable="false" on the
element,
这种方法只适合数量较少的情况下。
(2)字符串数量较大的情况,会很麻烦,这时可以采用另一种方法:
在 values 新建 donottranslate.xml 文件,并把不需要 non-translatable 的字符串放入其中.
(3)Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute.
第三种方法,就是用 tools:ignore="MissingTranslation“ 属性直接忽略这个问题
以上操作完成后,最好选择“Clean”一下项目,方法如下:
(3)Project checks
(4)选择“Create new keystore”并且保存在一个目录下面(本例子保存在项目跟目录下) 输
入密码,然后 next
在此对话框时,新建文件:androids.keystore, 密码:12345678
(5)填写一些信息,填写的 Alias 和 密码不要忘记了(Alias : LSY
密码: 12345678)
(6)这样在项目根目录下就生成以上流程产生的 androids.keystore 了
二、命令行生成 keystore【未实验】
dos 下进入 JDK 的 bin 目录 D:\Java\jdk1.8.0_51\bin
运行如下命令:
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000 代表有效期天数),命令完成后,bin 目录中会生成 android.keystore
查看命令 keytool -list -keystore "android.keystore" 输入你设置的 keystore 密码
5、高德地图的调试版 SHA1 与发布版 SHA1 分别的获取,申请到 KEY
http://blog.csdn.net/qq_21402513/article/details/51982234
此网址是针对 Android Studio 里面的设置
【20170606】
一、调试版 SHA1 的获取: 这个也可以在 eclipce 中查看
Window -> Preferances -> Android -> Build
首先:你 C 盘的 jdk 文件夹下的 bin 文件的路径(C:\Program Files\Java\jdk1.7.0_51\bin)应
该加到环境变量 path 中才能执行以下的步骤;
其次:找到 C:\Users\Administrator\.android,该.android 文件夹下找到 debug.keystore,这
是你的密钥库文件
然 后 : 在 该 密 钥 库 所 在 的 路 径 下 运 行 cmd , 输 入 keytool -list -v -keystore
debug.keystore
密钥库口令可以按 ENTER 跳过,即可得到调试版的 SHA1。
证书指纹:
MD5: 8B:DA:1C:08:12:B7:62:F6:0B:56:FF:92:F9:70:FF:F3
SHA1: 5C:E8:EF:30:87:E7:F8:3D:29:9D:20:61:3C:85:CC:0F:87:8A:F7:36
二、发布版的 SHA1 的获取:
app 为 release 模式时,应该有自己签名文件,是在生成 apk 时创建的含 alias,password 等
参数的 keystore 文件,有此文件才可以与高德地图或者微信等第三方有关联存在。
所以,同样,找到该 app 相关的 keystore 文件的所在,
F:\Work-Guidance\Elcispse_workspace\MapDemo【之前生成的 keystore】
进入 cmd,输入 keytool -list -v -keystore androids.keystore
F:\Work-Guidance\Elcispse_workspace\MapDemo>keytool
androids.keystore
-keystore
-list
-v
序列号: 593650c3
MD5: 82:CC:7B:80:72:FA:E5:BC:5B:F2:37:98:37:C8:47:71
SHA1: 40:90:8B:35:4F:43:3A:4E:BA:8A:20:4E:38:C1:1C:2E:BF:FD:6F:F3
最终填写在高德地图的开发者平台应用信息那里,然后就可以申请高德地图的 KEY 了。
注:这里填写的 Package 包名与生成 keystore 时的包名一定要一致!
Key: 6fea831520fda0acdde8eb2cf03612b1