Android studio中使用百度地图api获取定位遇到了sdk初始化问题

从前天开始,我尝试实现使用百度地图api进行定位的功能。百度地图api的使用真的很麻烦,首先要在百度地图光网上申请应用并获取到AK(需要用到开发工具的sha1,Android studio查看sha1比较费劲,但是网上有教程),然后下载官方的sdk,再然后要配置开发环境,包括配置build.gradle和AndroidManifest.xml两个文件,在build.gradle力添加

sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

在AndroidManifest.xml里要添加使用权限,service,还有申请到的AK,当然后续自己新建的LocationApplication类(继承自Application)也要在标签里面设置name。当然这些在官方的开发指南里也给了,按照给的设置就好。地址:http://lbsyun.baidu.com/index.php?title=android-locsdk


你以为这就完了?设置完这些,就来到了新建LocationApplication类了,在里面初始化sdk。

/**
 * 主Application,所有百度定位SDK的接口说明请参考线上文档:http://developer.baidu.com/map/loc_refer/index.html
 *
 * 百度定位SDK官方网站:http://developer.baidu.com/map/index.php?title=android-locsdk
 *
 * 直接拷贝com.baidu.location.service包到自己的工程下,简单配置即可获取定位结果,也可以根据demo内容自行封装
 */
public class LocationApplication extends Application {
    public LocationService locationService;
    public Vibrator mVibrator;
    @Override
    public void onCreate() {

        super.onCreate();
        /***
         * 初始化定位sdk,建议在Application中创建
         */
        locationService = new LocationService(getApplicationContext());
        mVibrator =(Vibrator)getApplicationContext().getSystemService(Service.VIBRATOR_SERVICE);
        SDKInitializer.initialize(getApplicationContext());
    }
}

最后一句: SDKInitializer. initialize (getApplicationContext());遇见了问题:程序找不到SDKInitializer类变量。。。。

在网上找了很多资料,什么so文件跟jar文件要导入到项目中或者rebulid项目等等,各种各样的方法都试了,然并卵。。。


费了两天时间去解决这个问题,最后我发现官方给的demo里面的jar包跟我在官网上下载的jar包大小不一样,自己下载的(官网说所有功能都实现了,定位导航等)才289k,demo里面的是1M多啊。


吓得我赶紧用demo的jar包替换了下载的jar包,结果解决了。


就想问百度地图一下,,,咱能不能不这么坑??


强烈建议各位开发者,按照官方给的demo来做,他用了什么包你就用什么包。。。伤不起啊!

 
  

你可能感兴趣的:(Android)