解决新浪微博SDK3.0 so包在Android Studio下不能调用的问题

问题描述:

使用的SDK是weibosdkcore_v3.0.1.jar。

1.解压下载的zip,将libs文件夹下的armeabi,mips,x86文件夹拷到工程的libs文件夹下,并且在libs下创建armeabi-v7a,并放入.so文件。
2.在libs文件夹下放入weibosdkcore_v3.0.1.jar
3.manifest中加入WeiboSdkBrowser的声明
4.代码中,调用:
mAuthInfo = new AuthInfo(this, AuthConstants.APP_KEY, AuthConstants.REDIRECT_URL, "");
mSsoHandler = new SsoHandler(LauncherActivity.this, mAuthInfo);
mSsoHandler.authorizeWeb(new WbAuthListener(LauncherActivity.this));
运行代码,报错:

java.lang.UnsatisfiedLinkError: Couldn't load weibosdkcore from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx-1.apk"],nativeLibraryDirectories=[/data/app-lib/xxx-1, /vendor/lib, /system/lib]]]: findLibrary returned null
        at java.lang.Runtime.loadLibrary(Runtime.java:358)
        at java.lang.System.loadLibrary(System.java:526)
        at com.sina.weibo.sdk.net.HttpManager.<clinit>(HttpManager.java:83)
        at com.sina.weibo.sdk.net.AsyncWeiboRunner.request(AsyncWeiboRunner.java:84)
        at com.sina.weibo.sdk.utils.AidTask.loadAidFromNet(AidTask.java:307)
        at com.sina.weibo.sdk.utils.AidTask.access$2(AidTask.java:294)
        at com.sina.weibo.sdk.utils.AidTask$2.run(AidTask.java:159)
        at java.lang.Thread.run(Thread.java:841)


解决方案:

1.创建armeabi-v7a文件夹,下面放入armeabi下的libweibosdkcore.so包。

2.在src/main目录下创建jniLibs文件夹。

3.将armeabi,mips,x86,armeabi-v7a放入jniLibs文件夹下。libs文件夹下只放weibosdkcore_v3.0.1.jar


你可能感兴趣的:(解决新浪微博SDK3.0 so包在Android Studio下不能调用的问题)