最近同事在做一个小项目时,由于产品的要求,Wap页面的分享规定不能使用友盟的社会化组件。他则不得不手动一个一个渠道的引入分享,好在渠道不多就三个,但是第一微博分享引入的时候问题就出现了。

问题一:libweibosdkcore.so文件无法识别导入。

试过将.so文件的那几个平台的文件夹放到jniLib和libs文件夹下,发现都还是无法识别和自动导入.so文件。最后百度后的解决办法如下,在app主工程的gradle文件中添加如下代码:

 packagingOptions {  
    exclude 'META-INF/LICENSE.txt'  
    exclude 'META-INF/NOTICE.txt'  
}  
  
  
/** 导入so文件 */  
task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {  
    destinationDir file("$projectDir/libs")  
    baseName "Native_Libs2"  
    extension "jar"  
    from fileTree(dir: "libs", include: "**/*.so")  
    into "lib"  
}  
  
tasks.withType(JavaCompile) {  
    compileTask -> compileTask.dependsOn(nativeLibsToJar)  
 
作用:增加packagingOption声明,并在下面的gradle方法中将libs文件夹下的各个平台.so文件的文件夹打包成一个名为Native_Libs2的jar包,然后Build两次project(配置了compile freeTree的一次即可,不过需要gradle sync一下)即可。这时发现不会再报.so找不到的exception了。
ps:应该还有更好的方案可以让AS识别到.so,等找到后补充。
 
问题二:微博分享不回调
1.WBShareActivity如图:
  1. public class WXEntryActivity extends WXCallbackActivity {
  2. }
2.修改回调WBShareActivity的配置:
  1. <!-- 微博 -->
  2. <activity android:name=".wbapi.WBShareActivity">
  3. <intent-filter>
  4. <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY"/>
  5. <category android:name="android.intent.category.DEFAULT"/>
  6. </intent-filter>
  7. </activity>
  8. <activity
  9. android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
  10. android:configChanges="keyboardHidden|orientation"
  11. android:exported="false"
  12. android:windowSoftInputMode="adjustResize">
  13. </activity>

Android Studio 独立引入(非友盟)微博分享和回调时问题的更多相关文章

  1. 友盟微博分享Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from: objc-class-ref in libWeiboSDK.a

    一,分析过程 1.第一次看到这个问题,以为是缺少导入框架或缺少编译文件,导入了微博 sso 框架和编译文件后仍有问题. 2.上网搜了搜也就以上两方面的问题. 3.于是我又仔细看了一遍友盟的分享接口文档 ...

  2. [友盟微博分享]does not contain bitcode. You must rebuild it with

    1.我的 Xcode 明明打开了 bitcode 了,为什么还会报错呢?挺奇怪的. 2.上网一查,才知道,友盟需要 bitcode,Xcode 不支持,只要关闭bitcode就可以 了. 3.其实我也 ...

  3. Android集成友盟社会化分享功能

    1.  产品概述 友盟社会化组件,可以让移动应用快速具备社会化分享.登录.评论.喜欢等功能,并提供实时.全面的社会化数据统计分析服务. 指南将会手把手教你使用社会化组件SDK,用5分钟为APP增加新浪 ...

  4. 有关 Android Studio 重复引入包的问题和解决方案

    虽然相同包名相同类名的文件在不同 SDK 中出现的概率极低,但是一旦出现,处理起来就比较棘手.最好的解决方案就是联系提供 SDK 的技术人员反映问题,让其通过修改源码重新打包一个新的 Jar 包. 还 ...

  5. Xamarin.Android 绑定友盟社会化分享组件

    Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定 ...

  6. iOS:友盟SDK分享

    友盟SDK分享   基本步骤: 1.注册友盟开发者账号 2.登陆账号,添加新应用,获取AppKey 3.下载并安装SDK 4.解压SDK压缩包,将形如UMSocial_sdk_x.x.x文件拖入工程中 ...

  7. Android开发中用友盟做分享的一些坑

    仅限于用5.1.4版本的 按照友盟分享的API在自己的代码中修改: 1.微信分享需要打包APK文件,数字签名与微信开发申请的要一致 2.此name中属性不能修改 value为友盟的申请的appkey ...

  8. Android Studio项目引入外部库注意事项(PullToRefresh)

    Android Studio开发App项目时引入第三方库是个比较麻烦的事情.之前导入Volley就折腾了好久,导入下拉刷新控件PullToRefresh时又碰到了各种问题.在此记录一下,以便查阅. 一 ...

  9. Android集成友盟facebook分享

    在项目中需要将图片和视频分享到社交平台,所以集成了友盟分享.在集成facebook分享的时候走了不少弯路,现在将过程记录下来. 1.先将友盟facebook的jar包复制到项目的libs文件夹下. 2 ...

随机推荐

  1. iphone数据存储之-- Core Data的使用

    一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以 ...

  2. Java 二叉树一些基本操作

    求二叉树中节点个数: /*1. 求二叉树中的节点个数 递归解法: (1)如果二叉树为空,节点个数为0 (2)如果二叉树不为空,二叉树节点个数 = 左子树节点个数 + 右子树节点个数 + 1 */ pu ...

  3. 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16

    一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...

  4. Java下的i++问题

    在解决一道面试题目时遇到问题. public class Inc { public static void main(String args[]){ Inc inc = new Inc(); int ...

  5. mysql启动登陆

    mysql.server start    # 1. 启动 mysql.server stop     # 2. 停止 mysql.server restart  # 3. 重启 1.本地登陆 sud ...

  6. Intellij IDEA自定义类模板和方法模板

    以Intellij IDEA 2017.3.5为例 定义类模板 依次打开File->Settings->File and Code Templates->Files, 选择class ...

  7. python-入门教程(-)

    # hello worldprint("hello world") # 变量msg = "使用变量"print(msg) # 字符串大小写变换(仅针对英文)na ...

  8. Timer 控件

    1. 设置属性 Enable = true  或调用 start方法后, *_Tick 方法不会立即执行,会先等待一个时间间隔 2.timer1不管你上次的事情是否做完,它都会每个一个时间间隔做它应该 ...

  9. flask 简易注册登陆

    db.py import MySQLdb conn = MySQLdb.connect(', 'test1') cur = conn.cursor() def addUser (username,pa ...

  10. 002服务提供者Eureka

    1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka.Spring Boot Starter Actuator依赖和Spring Cloud依赖管理 <dependenc ...