想做个百度地图的demo,首先参考百度开发指南http://lbsyun.baidu.com/index.php?title=androidsdk,虽然写的跟百度自己的demo配置不一样,但还是可以勉强看看的。
首先是关于密钥的申请,最新的key申请已经跟原来不一样了,现在加入了发布版的SHA1。所以需要自己打包找到自己release版本的jks文件,再在dos下输入keytool -list -v -keystore “你自己的jks文件位置”。开发版的SHA1可直接在.android目录下输入keytool -list -v -keystore debug.keystore。详细步骤可参考http://blog.csdn.net/syc000666/article/details/50756551
release版本的SHA1申请流程如下:
release成功之后会在build.gradle中出现上图信息。然后在dos下输入keytool -list -v -keystore “你自己的jks文件位置”,最后申请key就行了。
key申请好,sdk下载好,下面就是jar的配置,如图:
开发文档中要求在app==src==main下创建jniLibs,再将so文件放进去,我试了一下,一直报错,弄了半天一直无果。网上有人建议将so文件也全部放到libs下,成功了。
再将jar文件complie一下即可
最后在Manifest文件中添加权限和申请好的key
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="请输入AK" />
在布局文件中加入
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
在MainActivity中初始化运行即可实现基本的地图
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
差不多就这么多,一开始写好一直都是白屏,后来发现公司网络不允许移动设备联网,模拟器也就用不了了。最后在自己手机上跑出来的,华为手机,版本号联按7下进入开发者模式,在打开usb调试就可以了,希望可以帮到跟我一样的小白,少走弯路。