微博授权错误:Couldn't load weibosdkcore from loader dalvik.system.PathClassLoader

错误截图:
这里写图片描述

经过一番查询,最后确定是weibosdkcore.so文件未正确加载。出现这些问题的原因估计是官方给的文档是eclipse的版本,故有些地方不适用于Android Studio。
百度出来的解决方案并没有解决我的问题,最后我综合了3位大神的方法,然后自己根据错误提示修改了一下,最后解决了。

下面列出我自己的解决方案:
1.在src/main文件夹下新建jniLibs文件夹,把libs里面的armeabi,mips,x86,armeabi-v7a(weibosdkcore_v3.0.1.jar除外)文件等复制到jniLibs文件夹下。(PS:这里是复制过去,不是网上某些方法的移动,即libs和jniLibs文件夹里都有armeabi,mips,x86,armeabi-v7a等文件
微博授权错误:Couldn't load weibosdkcore from loader dalvik.system.PathClassLoader_第1张图片

2.在Module里的build.gradle里的android{}里添加如下代码:

//noinspection all
    task copyNativeLibs(type: Copy) {
        // third party lib so
        from(new File(projectDir, 'libs')) { include 'armeabi.so','armeabi-v7a.so' }
        into new File(buildDir, 'native-libs')
    }
    tasks.withType(JavaCompile) {
        compileTask ->
            //noinspection all
            compileTask.dependsOn copyNativeLibs
    }
    //noinspection all
    tasks.withType(com.android.build.gradle.tasks.PackageApplication) {
        pkgTask ->
            new HashSet().add(new File(buildDir, 'native-libs'))
    }

下面是百度某些大神添加的代码:
微博授权错误:Couldn't load weibosdkcore from loader dalvik.system.PathClassLoader_第2张图片

我复制了大神的代码粘贴上去,build.gradle无法编译,根据错误提示我把 pkgTask.jniFolders直接删除了,然后正常编译运行。
大家可以根据自己代码的错误提示情况,自己进行选择。

[参考]
http://blog.sina.com.cn/s/blog_92814aa60102vhv1.html
http://www.ithao123.cn/content-8667630.html

你可能感兴趣的:(Android仿新浪微博)