Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录

先贴一下错误截图

Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录_第1张图片

今天把疯狂Android讲义看完了第一遍,一直想做一个集成高德sdk的app练手,本来用的高德的web api,手机浏览器打开也能用,打算投机取巧直接用webapi返回的json做解析,多省流量啊!没想到手机浏览器打开是正常的,但是软件里HttpURLConnection.getInputStream,返回值就变成key无效了…所以只能老老实实用高德的android SDK。……扯多了,回到问题。

我是照着高德官网的教程来做,地址是http://lbs.amap.com/api/android-sdk/guide/project/#t3;

照着高德的把环境配置完,再按照HelloMap里的mapView添加完Activity的生命周期重写完满心欢喜跑起来就见到了闪退……

我们来看一下高德的官方教程步骤1

Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录_第2张图片

恩,问题就出在我太菜而文档没仔细看。第一步一共讲了两种方式,都可以添加so文件。而我以为是从上到下的一整个过程都属于步骤1。

Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录_第3张图片

这里写的是也可以!!!也就是"|"啊!他的意思是

1要么你就在main/下新建一个JniLibs文件夹,再把SDK里带的so文件目录诸如armeabi等等文件夹丢进去就可以了。

2要不你就把放so文件的目录诸如armeabi直接放在放jar文件的目录libs里头,然后修改build.gradle文件的内容,添加上图或者如下

android {
    sourceSets{
        main{
            jniLibs.srcDirs=['Libs']
        }
    }
我照着敲的时候没多想这是什么意思,只知道高德说:“你得这么干!“所以就照着这么敲了……现在来说一下我的理解,这里的意思就是把jniLibs这个目录的路径指向libs,也就是放jar的那个目录。因此lib目录同时就兼具了放jar和充当jniLibs目录的两种作用。

问题的根源就出在这…没看懂官方文档…要么新建jniLibs文件夹放so文件别修改build.gradle,要么so放在libs里头然后修改build.gradle。

最后我按照这个思路改好了项目,但是还是闪退妈嗒!

没有什么是Clean Project不能解决的…

终于好了,留下了辛酸的泪水…

Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录_第4张图片

你可能感兴趣的:(Android studio 高德sdkjava.lang.UnsatisfiedLinkError: No implementation found for long...错误的记录)