AndroidStudio添加第三方库,及百度地图sdk等

例如添加二维码扫描及生成二维码库,

zxing,在https://github.com/xuyisheng/ZXingLib/下载zxinglib到某个目录,然后在AndroidStudio右键项目名称--Open Module Settings,如下图:

AndroidStudio添加第三方库,及百度地图sdk等_第1张图片

然后点左下角app,点左上角“+”,--Import Gradle Project--选择下载的zxinglib(名称中不能有横杠)。

添加依赖,点app,然后点右上方Dependencies,点右边区域左下角“+”--Module dependence--选择zxinglib--ok,就添加进去了。然后可以复用zxing中的MainActivity中的核心代码。

百度地图sdk集成

在http://lbsyun.baidu.com/下载sdk,解压有下面的图,然后将BaiduLBS_Android.jar复制到AndroidStudio的libs文件夹,


AndroidStudio添加第三方库,及百度地图sdk等_第2张图片

将其他的so文件复制到jniLibs文件夹,可是在AndroidStudio中创建项目并没有这个文件夹,所以需要创建,名字统一为jniLibs,在main文件夹直接右键新建jnlLibs,在build.gradle(app对应)中添加如下代码(注意和buildTypes那一个大括号并列,在android大括号之内),然后点击 Sync Now,

//添加jniLibs文件夹

sourceSets{

main{

jniLibs.srcDirs=['libs']

}

}

添加本地仓库

//添加本地仓库

    repositories {

flatDir {

dirs'libs'

        }

}

}

最后发现要将下载的百度sdk解压后的所有armeabi ,armeabi-v7a ,x86  arm64-v8a,x86,x86_64,BaiduLBS_Android六个文件全部放在libs目录下,才能正常运行。



另外要让页面显示地图,必须在百度地图sdk页面百度地图sdk申请密钥,必须要有sha1值,

要取得sha1值:

1.开发版

cd .android 

执行keytool -list -v -keystore debug.keystore命令

2.申请发布版sha1值

cd .android 

执行keytool -list -v -keystore debug.keystore /Users/ring/AndroidStudioProjects/keyStorePath/appname.jks 

说是要利用发布版sha1值来申请,但是发现使用发布版sha1值申请的密钥,不能显示地图,最后使用开发版sha1值申请的密钥可以显示


AndroidStudio添加第三方库,及百度地图sdk等_第3张图片
两个sha1值都填写开发版(一摸一样)



然后在manifest文件application中添加密钥

   

    android:value="密钥" />


‘’‘java代码

private MapViewbMapView;

private BaiduMapmBaiduMap;


bMapView = (MapView)findViewById(R.id.bmapView);

mBaiduMap =bMapView.getMap();

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);//普通地图

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);//卫星地图


AndroidStudio添加第三方库,及百度地图sdk等_第4张图片
AndroidStudio添加第三方库,及百度地图sdk等_第5张图片


今天遇到一个android studio的.so文件的问题,当运行的时候出现了这样的一个错误java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader,这个错误就是.so文件不存在或者是文件路径不正确

这是因为在eclipse中,我们把so文件放入libs目录里,可以被打包到apk中,但是在android studio中,如果将so文件放在libs目录里,是不会被打包到apk中的,只有jniLibs目录里的so文件会被打包到apk中,当然这个目录指定的文件夹可以更改,但是默认就是\src\main\jniLibs,所以在没有做指定的情况下我们只有把so文件放在这里才能被打包运行。

你可能感兴趣的:(AndroidStudio添加第三方库,及百度地图sdk等)