友盟SDK升级

  • 友盟官方地址:https://developer.umeng.com
    • 1,下载SDK jar包
    • 2,导入项目中
    • 3,添加回调Activity
    • 4,申请第三方账号
    • 5,需要在工程AndroidManifest.xml清单文件中增加:
    • 6,添加权限
    • 7,初始化友盟
    • 8,混淆设置

在升级之前,把之前项目中手动添加的友盟相关的jar包全部删除。之后在从新添加最新的包。

友盟官方地址:https://developer.umeng.com

1,下载SDK jar包



选择完之后,点击完成,再点击下载。

2,导入项目中

1,把解压之后的文件夹中的所有jar包和 arr包导入项目的lib中。
2,在把所有的res下的文件复制到项目的res文件夹下。



3,在build.gradle中导入jar包 和 导入opensdk相关的包

     compile  'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.5'compile  'com.tencent.tauth:qqopensdk:3.51.2'//QQ官方SDK依赖库implementation files('libs/umeng-sharetool-7.1.4.jar')implementation files('libs/umeng-share-wechat-full-7.1.4.jar')implementation files('libs/umeng-share-QQ-full-7.1.4.jar')implementation files('libs/umeng-share-core-7.1.4.jar')implementation files('libs/umeng-common-9.3.8.jar')implementation files('libs/umeng-shareboard-widget-7.1.4.jar')implementation files('libs/umeng-asms-armeabi-v1.2.2.aar') // asms包依赖(必选)implementation files('libs/umeng-abtest-v1.0.0.aar') // native crash包依赖(必选)

3,添加回调Activity

微信在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity

代码如下:

package com.myobject.wxapi;
import com.umeng.socialize.weixin.view.WXCallbackActivity;
public class WXEntryActivity extends WXCallbackActivity {}

QQ与新浪QQ与新浪不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加:

@Override
protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

4,申请第三方账号

5,需要在工程AndroidManifest.xml清单文件中增加:

// ${applicationId}为你的应用包名,请注意将我们的qq appkey替换成您自己的qq appkey

   <activityandroid:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activityandroid:name="com.tencent.tauth.AuthActivity"android:launchMode="singleTask"android:noHistory="true"><intent-filter><actionandroid:name="android.intent.action.VIEW"/><categoryandroid:name="android.intent.category.DEFAULT"/><categoryandroid:name="android.intent.category.BROWSABLE"/><dataandroid:scheme="tencent100424468"/></intent-filter>
</activity>
<activityandroid:name="com.tencent.connect.common.AssistActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="orientation|keyboardHidden|screenSize"
/>
<providerandroid:authorities="${applicationId}.fileprovider"android:name="android.support.v4.content.FileProvider"android:exported="false"android:grantUriPermissions="true"
><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/filepaths"/>
</provider>

还需要同时需要在工程res目录下新建filepaths.xml配置。

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android"><external-files-path name="umeng_cache" path="umeng_cache/"/><!-- QQ 官方分享SDK 共享路径 --><root-path name="opensdk_root" path=""/><external-files-path name="opensdk_external" path="Images/tmp"/>
</paths>

6,添加权限

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>

7,初始化友盟

1,务必确保用户同意《隐私政策》之后,再初始化友盟+SDK。具体初始化步骤详见下文

  1. 在Applicaiton.onCreate函数中调用预初始化函数UMConfigure.preInit(),预初始化函数不会采集设备信息,也不会向友盟后台上报数据。设置log为true可以查看打印。
  2. 在用户点击同意协议弹窗之后,再进行初始化,要是用友盟必须要初始化成功才可以用。
 UMConfigure.init(getReactApplicationContext(),null, null, UMConfigure.DEVICE_TYPE_PHONE, "");
  1. 在application中添加微信和qq的设置

8,混淆设置

将下面的混淆代码添加到 proguard-rules.pro 文件中。

-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn com.squareup.okhttp.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-keep public class javax.**
-keep public class android.webkit.**
-dontwarn android.support.v4.**
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keepattributes EnclosingMethod
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**-keep public class com.umeng.socialize.* {*;}-keep class com.umeng.commonsdk.statistics.common.MLog {*;}
-keep class com.umeng.commonsdk.UMConfigure {*;}
-keep class com.umeng.** {*;}
-keep class com.umeng.**
-keep class com.facebook.**
-keep class com.facebook.** { *; }
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.umeng.socialize.handler.**
-keep class com.umeng.socialize.handler.*
-keep class com.umeng.weixin.handler.**
-keep class com.umeng.weixin.handler.*
-keep class com.umeng.qq.handler.**
-keep class com.umeng.qq.handler.*
-keep class UMMoreHandler{*;}
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep class com.tencent.mm.sdk.** {
*;
}
-keep class com.tencent.mm.opensdk.** {
*;
}
-keep class com.tencent.wxop.** {
*;
}
-keep class com.tencent.mm.sdk.** {
*;
}
-dontwarn twitter4j.**
-keep class twitter4j.** { *; }-keep class com.tencent.** {*;}
-dontwarn com.tencent.**
-keep class com.kakao.** {*;}
-dontwarn com.kakao.**
-keep public class com.umeng.com.umeng.soexample.R$*{public static final int *;
}
-keep public class com.linkedin.android.mobilesdk.R$*{public static final int *;
}
-keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String);
}-keep class com.tencent.open.TDialog$*
-keep class com.tencent.open.TDialog$* {*;}
-keep class com.tencent.open.PKDialog
-keep class com.tencent.open.PKDialog {*;}
-keep class com.tencent.open.PKDialog$*
-keep class com.tencent.open.PKDialog$* {*;}
-keep class com.umeng.socialize.impl.ImageImpl {*;}
-keep class com.sina.** {*;}
-dontwarn com.sina.**
-keep class  com.alipay.share.sdk.** {
*;
}-keepnames class * implements android.os.Parcelable {public static final ** CREATOR;
}-keep class com.linkedin.** { *; }
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
-keepattributes Signature

友盟SDK升级(手动集成)相关推荐

  1. Android Studio集成友盟SDK

    为什么要集成友盟? 在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控A ...

  2. iOS 调试友盟SDK和微信SDK集成后的兼容性

    为了解决App在通过微信登录.分享时提示"未验证的应用"这个问题,更新了友盟SDK,同时也更新了微信SDK. 最新版本的微信SDK,需要设置Universal Links,同时需要 ...

  3. php upush 友盟 推送_react-native集成友盟推送

    react-native-upush 近期由于产品需求,需要在react-native项目上集成友盟推送,笔者翻阅各种这方面资料后,看到RN论坛上面有位大神给出了具体的集成方案,请参考:react-n ...

  4. Android 友盟社会化分享的集成与封装

    Android 友盟社会化分享的集成与封装 分享是APP中非常高频的操作之一,在Android的开发环境中,第三方分享框架也有很多.比较流行的包括 极光社会化分享(sharesdk).友盟社会化分享( ...

  5. android友盟微信授权登录清除,【转载】Android友盟SDK微信授权登录接入

    微信授权登录接入需要先到微信开放平台申请好应用的APPID,交纳300大洋费用得到授权登录权限后才能使用,此处不再赘述. 接入的两种方式 -- 微信SDK接入:使用微信官方SDK接入,需要分" ...

  6. React-native之友盟(UMeng)推送集成(超详细)(android版)----------小白的天堂

    React-native之友盟(UMeng)推送集成(超详细)(android版) 集成环境: React-native: 0.61.5 Umeng push sdk:6.0.5 测试环境: Andr ...

  7. 试用友盟SDK实现Android第三方登录(以QQ登录为例)

    虽然自己在日常工作中用不到第三方登录,但是它的重要性无可厚非. 废话不多说,接下来跟着步骤走,轻松集成第三方登陆. 一,在友盟注册应用 注册好友盟账户后,在http://www.umeng.com/s ...

  8. 使用友盟SDK实现新浪微博登录

    项目需求实现新浪微博登录,并实现文章对第三方平台的分享,使用友盟SDK实现以上功能,在实现的过程中,踩了一些坑,记录下来和大家分享一下. 友盟提供了SSO(免登录)以及非SSO的方式.所谓SSO的方式 ...

  9. 友盟统计封装android,react native 友盟统计 Android 端集成

    ios 端 可参考:https://www.jianshu.com/p/879d28ee74e6 趁热打铁吧,把刚才已经完成的友盟统计集成记录下 Android端集成: 分下面几部: 步骤 sdk的集 ...

最新文章

  1. 谷歌最新开源BundleTrack: 无需任何CAD模型的6D物体姿态跟踪算法
  2. IDBA-UD:组装非均匀覆盖度的宏基因组和单细胞数据
  3. 微软热门知识点之------c#3.0新特性【转】
  4. php background-color:,background-color属性怎么用
  5. mybatis$和#的区别
  6. Kyma registration of webservices and event endpoints
  7. Spring mvc 上下文初始化过程
  8. Cesium工作笔记001---地理位置信息js展示框架_Cesium介绍
  9. Systemd管理示例
  10. python之heapq
  11. Think PHP url的四种访问方法。
  12. JAVA基础编程50道练习题
  13. 秒变金庸风 | NLP文本风格迁移
  14. linux思源黑体乱码,Source Han Sans 思源黑体字体包
  15. 多元统计之因子分析模型及Python分析示例
  16. 蓝桥杯国信长天单片机--原理图详解(四)
  17. 微信付费群如何创建?如何搭建教程九块九源码?
  18. 【偶爱宋词】章良能·小重山
  19. 安卓笔记:修正Task ‘wrapper‘ not found in project
  20. 我的创作纪念日-从写作到阿里云专家博主的故事

热门文章

  1. outlook设置263邮件服务器,[win10outlook邮箱设置]win10系统中outlook中添加263邮箱设置教程...
  2. NAC公链 区块链技术寒冬已过,优质公链NA(Nirvana)Chain开启快速发展之行
  3. PCL学习笔记——合并点云
  4. freeswitch 对接IMS
  5. 香港专业教育学院学会编写网络钓鱼电子邮件的9件事
  6. 干货来袭!java编程工具排行榜
  7. springboot学生宿舍管理系统 毕业设计源码161542
  8. Tensorflow - from keras.layers import LeakyReLU 实例源码
  9. VS2008操作Word2007 2010保存为PDF
  10. C#PopStar【消除类】