1. 第一个错误信息如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.baidumaptest/com.example.baidumaptest.MainActivity}: java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializer.initialize(Context) function.
解决方法是在onCreate()方法中加入语句:SDKInitializer.initialize(this.getApplication()); 这条语句要放在setContentView()方法前面,如onCreate()方法如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(this.getApplication()); //加入这条语句
Intent intent = getIntent();
if (intent.hasExtra("x") && intent.hasExtra("y")) {
Bundle b = intent.getExtras();
LatLng p = new LatLng(b.getDouble("y"), b.getDouble("x"));
mapView = new MapView(this, new BaiduMapOptions().mapStatus(new MapStatus.Builder().target(p).build()));
} else {
mapView = new MapView(this, new BaiduMapOptions());
}
setContentView(mapView);
mBaiduMap = mapView.getMap();
}
2. 出现下面的错误
java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()J
解决方法是:在build.gradle加入
android {
......
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
其中那些.so文件都放在libs目录下:
3. 定位服务的实现
具体参考如下地址:
http://blog.csdn.net/crazy1235/article/details/43898451
参考博客: