友盟Share

獲取SDK

下載SDK操作流程

下載SDK最新版 如下圖所示:

SDK組件說明

根據需要,選擇自己需要的平臺、精簡版/完整版

Demo工程包含了源碼及Apk文件,Apk可以直接安裝,用于體驗分享、登錄功能

SDK文件目錄介紹

  • main -- 核心庫

umeng_social_api.jar
umeng_social_net.jar
umeng_social_tool.jar

  • platforms -- 分享平臺庫

QQ精簡版(SocialSDK_QQ_Simplify.jar)
微信完整版(wechat-sdk-android-with-mta-1.0.2.jar SocialSDK_WeiXin_Full.jar)

新浪精簡版(SocialSDK_Sina_Simplif.jar)

這里只列舉QQ、微信和新浪,最終platforms文件夾內包含的文件與下載頁面選擇的平臺有關

  • shareboard

umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)

umeng_social_shareboard.jar

<label style="color:#FF0000;">這一項屬于可選項目,使用了默認分享面板UI時需要添加</label>

  • shareview

umeng_social_shareview.jar

<label style="color:#FF0000;">這一項是否出現在壓縮包中與下載頁面選擇平臺有關,勾選了新浪精簡版、豆瓣、人人時會出現</label>

  • Demo工程

social_sdk_example_as(Android studio 環境Demo)

social_sdk_example(Eclipse環境Demo)

umeng_android_socialize_demo_full.apk(完整版Demo安裝包)

umeng_android_socialize_demo_simple.apk(精簡版Demo安裝包,QQ、微信、新浪均使用精簡版)

老用戶升級說明

以下內容是針對老用戶升級使用,如果是新用戶,可以直接跳到工程配置文檔

4.x升級說明

如果您之前使用的是4.x版本的sdk,請刪除所有的社會化分享代碼,jar以及資源文件,更新現在最新版的sdk,根據快速集成文檔重新集成,因為4.x版本接口與現在完全不一樣,所有接口都需要重新調用

5.x升級說明

之前使用友盟分享5.0+版本的老用戶,可以直接替換對應jar和資源文件就可以了,但是注意默認下載的是新浪精簡版,如果使用新浪精簡版,不再需要.so文件,對應的Manifest配置,以及WBShareActivity.java。微信精簡版,和qq精簡版對應的jar名字不一樣,需要將原有的jar刪除,替換精簡的jar,如果使用完整版直接替換即可。 res中的資源文件也要進行替換。 對應jar包名字對應如下:

<table class="table table-bordered table-striped table-condensed">

<tr>
<td>平臺</td>
<td>老版本</td>
<td>新版精簡版</td>
<td>新版完整版</td>
</tr>
<tr>
<td>核心庫</td>
<td>umeng_social_sdk.jar</td>
<td>umeng_social_api.jar
umeng_social_net.jar
umeng_social_shareview.jar(可選,新浪精簡版 豆瓣人人使用)
umeng_social_shareboard.jar(可選 如果沒有使用分享面板可以不使用)
umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)</td>
<td>同精簡版</td>
</tr>
<tr>
<td>QQ</td>
<td>mta-sdk-1.6.2.jar
open_sdk_r5509_lite.jar
SocialSDK_QQZone_3.jar</td>
<td>SocialSDK_QQ_Simplify.jar</td>
<td>open_sdk_rxxxx_lite.jar
SocialSDK_QQ_Full.jar</td>
</tr>
<tr>
<td>新浪</td>
<td>SocialSDK_Sina.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so </td>
<td>SocialSDK_Sina_Simplify.jar </td>
<td>SocialSDK_Sina_Full.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so</td>
</tr>
<td>微信</td>
<td>SocialSDK_WeiXin_1.jar
SocialSDK_WeiXin_2.jar </td>
<td>SocialSDK_WeChat_Simplify.jar</td>
<td>libammsdk.jar
SocialSDK_WeiXin_Full.jar</td>
</tr>
</table>

6.0x版本

之前使用友盟分享6.0+版本的老用戶,可以直接替換對應jar和資源文件就可以了,注意對應jar的名字即可。

  • 精簡版

<table class="table table-bordered table-striped table-condensed">

<tr>
<td>平臺</td>
<td>精簡版(老版)</td>
<td>精簡版(新版)</td>
</tr>
<tr>
<td>核心庫</td>
<td>umeng_social_apiv6.0.x.jar
umeng_social_viewv6.0.x.jar
umeng_social_netv6.0.x.jar</td>
<td>umeng_social_api.jar
umeng_social_net.jar
umeng_social_shareview.jar(可選,新浪精簡版 豆瓣人人使用)
umeng_social_shareboard.jar(可選,如果沒有使用分享面板可以不使用)
umeng_shareboard_widget.jar(工程中存在support v4或不使用面板可以不加)</td>
</tr>
<tr>
<td>QQ</td>
<td>SocialSDK_QQZone_3.jar
SocialSDK_umengqq.jar</td>
<td>SocialSDK_QQ_Simplify.jar</td>
</tr>
<tr>
<td>新浪</td>
<td>SocialSDK_umengsina.jar </td>
<td>SocialSDK_Sina_Simplif.jar</td>
</tr>
<tr>
<td>微信</td>
<td>SocialSDK_WeiXin_1.jar
SocialSDK_WeiXin_2.jar </td>
<td>SocialSDK_WeChat_Simplify.jar </td>
</tr>
</table>

  • 完整版

<table class="table table-bordered table-striped table-condensed">

<tr>
<td>平臺</td>
<td>完整版(老版)</td>
<td>完整版(新版)</td>
</tr>
<tr>
<td>核心庫</td>
<td>同精簡版</td>
<td>同精簡版</td>
</tr>
<tr>
<td>QQ</td>
<td>mta-sdk-1.6.2.jar
open_sdk_r5509_lite.jar
SocialSDK_QQZone_3.jar</td>
<td>open_sdk_r5756_lite.jar
SocialSDK_QQ_Full.jar</td>
</tr>
<tr>
<td>新浪</td>
<td>SocialSDK_Sina.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so </td>
<td>SocialSDK_Sina_Full.jar
weiboSDKCore_3.1.4.jar
libweibosdkcore.so</td>
</tr>
<tr>
<td>微信</td>
<td>同精簡版</td>
<td>wechat-sdk-android-with-mta-1.0.2.jar
SocialSDK_WeiXin_Full.jar</td>
</tr>
</table>

6.3接口變動

所有的回調監聽器增加onStart()方法

UMShareListener shareListener = new UMShareListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {
                   }

        @Override
        public void onResult(SHARE_MEDIA platform) {
                  }

        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
                 }

        @Override
        public void onCancel(SHARE_MEDIA platform) {
    

        }
    };        
 UMAuthListener authListener = new UMAuthListener() {
        @Override
        public void onStart(SHARE_MEDIA platform) {
           
        }

        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
          
        }

        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
                  }

        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {
           
        }
    };

去掉了ShareAction的WithTargetURl

去掉了withTitle接口

title參數只在UMWeb類型中存在,設置title請使用UMWeb類型
點擊查看文檔

設置新浪回調地址

6.3版本之前設置新浪的回調地址是通過Config.REDIRECT_URL

6.3版本之后在設置appid的時候一起設置回調地址:

注意代碼這里配置的回調地址需要和微博開放平臺授權回調頁保持一致

PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");

去掉了等待窗

用戶如需添加可在上面提到的onStart中show dialog,在回調完成后dismiss

由于微信、QQ等平臺當用戶選擇留在應用后無法執行回調,因此建議在onResume中執行dialog消失事件

三方登錄時是否每次都要進行授權

UMShareConfig config = new UMShareConfig();
config.isNeedAuthOnGetUserInfo(true);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

目前SDK默認設置為在Token有效期內登錄不進行二次授權,如果有需要每次登錄都彈出授權頁面,便于切換賬號的開發者可以自行配置

是否使用分享編輯頁

UMShareConfig config = new UMShareConfig();
config.isOpenShareEditActivity(true);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

注意此接口只有在新浪精簡版、豆瓣和人人分享時生效,微信、QQ的分享編輯頁為原生SDK提供,無法去除

設置新浪網頁授權還是SSO授權

只進行網頁授權

 UMShareConfig config = new UMShareConfig();
config.setSinaAuthType(UMShareConfig.AUTH_TYPE_WEBVIEW);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

調用此接口后,無論用戶設備是否安裝微博客戶端,都只會拉起網頁授權

當安裝的時候進行SSO授權:

 UMShareConfig config = new UMShareConfig();
config.setSinaAuthType(UMShareConfig.AUTH_TYPE_SSO);
UMShareAPI.get(InfoDetailActivity.this).setShareConfig(config);

6.4接口變動

由于新浪即將對之前的云端接口進行關停,所以新浪精簡版需要做一些改版:
代碼層面不需要變動,只需要升級到6.4,替換6.4之后的所有jar
同時精簡版需要增加一個回調Activity:

  <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

這個Activity在包名路徑下:

package com.umeng.soexample;

import com.umeng.socialize.media.WBShareCallBackActivity;

public class WBShareActivity extends WBShareCallBackActivity {
}

工程配置

<span id = "config">對于快速集成,我們以新浪微博QQ三個平臺為例,工程配置分為以下四種,區別不大,不熟悉的朋友可以參考:</span>

Android Studio精簡版

Android Studio完整版

工程配置(精簡版)

<span id = "as_simple">以下內容為Android Studio精簡版配置</span>

新建立一個工程

拷貝jar及res

拷貝jar和res有如下兩種形式

a.將main文件夾以及platform(選擇你想使用的平臺即可)文件下,對應的資源文件和jar放入你的工程
b.如果不想像a方式一樣一個個拷貝,可以使用集成工具umeng_integrate_tool.jar

雙擊點開這個工具,如下圖所示:

選擇你想使用的平臺,以及你所使用的開發工具,點擊ok
會在當前目錄下生成一個新的文件夾umeng_integratetool_result

只需將該文件夾下生成的對應文件對應放入你的工程中即可
這里注意如果使用了新浪微博精簡版,或者豆瓣人人騰訊微博,需要加入umeng_social_shareview.jar及其對應的資源文件,如果沒有使用這些平臺可以不加
如果您的程序不想使用我們的分享面板,想自定義UI分享UI界面,umeng_social_shareboard.jar以及對應的資源文件也可以不用加
如果您使用了我們的分享面板,您的工程已經依賴的v4,可以不使用我們的umeng_shareboard_widget.jar

添加對應的回調Activity

使用微信分享或者登陸功能

在包名目錄下創建wxapi文件夾,新建一個名為WXEntryActivity的activity繼承WXCallbackActivity。這里注意一定是包名路徑下,例如我的包名是com.umeng.soexample,則配置如下:(需要注意,如果使用精簡版WXCallbackActivity的路徑為com.umeng.weixin.callback.WXCallbackActivity,如果使用完整版路徑是com.umeng.socialize.weixin.view.WXCallbackActivity)

同理需要建立回調的平臺還有支付寶與易信,支付寶是需要建立一個apshare的文件夾,然后建立一個ShareEntryActivity的類,繼承ShareCallbackActivity。易信是需要建立一個yxapi的文件夾,建立一個YXEntryActivity的類繼承YXCallbackActivity。如果不使用這兩個平臺可以不用建立。
同理新浪微博也需要一個回調的Activity,與微信不同的是它只需要在包名目錄下建立一個名為WBShareActivity類即可,不用建立文件夾,該類繼承WBShareCallBackActivity,如下圖所示(注意看目錄結構):

修改AndroidManiFest

首先需要添加權限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
然后加入sdk中需要的Activity:

新浪:

  <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

微信:

<activity
        android:name=".wxapi.WXEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

支付寶:

    <activity
        android:name=".apshare.ShareEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

qq精簡版:

    <activity
            android:name="com.umeng.qq.tencent.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tencent100424468" />
            </intent-filter>
    </activity>

    <activity
            android:name="com.umeng.qq.tencent.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

qq完整版:

    <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tencent100424468" />
            </intent-filter>

    </activity>
    
    <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

分享編輯頁(只有新浪微博精簡版,豆瓣人人騰訊微博需要):

 <activity
        android:name="com.umeng.socialize.editorpage.ShareActivity"
        android:theme="@style/Theme.UMDefault"
        android:excludeFromRecents="true"
        />

其他平臺的回調activity請到附錄中查詢。

添加友盟appkey
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="561cae6ae0f55abd990035bf" >
    </meta-data>

修改build.gradle文件

將文件夾中的簽名文件放入到工程中,例如我的簽名文件是debug.keystore

然后增加簽名文件的密碼:

signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword "android"
        keyAlias "androiddebugkey"
        keyPassword "android"
    }
}

然后在buildTypes中將這個signingConfigs配置進去,如下圖所示:

簽名文件如果不加,部分平臺的授權會受到影響。

配置各個平臺的appkey

建立一個application文件,隨便起一個名字,比如叫App,別忘了在AndroidManifest文件中配置(如果本身已有,不需要重新建立):

     <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:name=".App"
        android:theme="@style/AppTheme">

在application文件中配置三方平臺的appkey:

這里作為示例,只配置了微信、QQ/Qzone、新浪的三方appkey,如果使用其他平臺,在這里增加對應平臺key配置

public class App extends Application{
    {

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    }
    }

在application中初始化sdk,這個初始化最好放在application的程序入口中,防止意外發生:

        @Override
        public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }

工程配置(完整版)

<span id = "as_full">以下內容為Android Studio完整版配置</span>

新建立一個工程

拷貝jar及res

拷貝jar和res有如下兩種形式

a.將main文件夾以及platform(選擇你想使用的平臺即可)文件下,對應的資源文件和jar放入你的工程
Paste_Image.png
b.如果不想像a方式一樣一個個拷貝,可以使用集成工具umeng_integrate_tool.jar

雙擊點開這個工具,如下圖所示:

選擇你想使用的平臺,以及你所使用的開發工具,點擊ok
會在當前目錄下生成一個新的文件夾umeng_integratetool_result

只需將該文件夾下生成的對應文件對應放入你的工程中即可
這里注意如果使用了新浪微博精簡版,或者豆瓣人人騰訊微博,需要加入umeng_social_shareview.jar及其對應的資源文件,如果沒有使用這些平臺可以不加
如果您的程序不想使用我們的分享面板,想自定義UI分享UI界面,umeng_social_shareboard.jar以及對應的資源文件也可以不用加
如果您使用了我們的分享面板,您的工程已經依賴的v4,可以不使用我們的umeng_shareboard_widget.jar

添加對應的回調Activity

使用微信分享或者登陸功能

在包名目錄下創建wxapi文件夾,新建一個名為WXEntryActivity的activity繼承WXCallbackActivity。這里注意一定是包名路徑下,例如我的包名是com.umeng.soexample,則配置如下:(需要注意,如果使用精簡版WXCallbackActivity的路徑為com.umeng.weixin.callback.WXCallbackActivity,如果使用完整版路徑是com.umeng.socialize.weixin.view.WXCallbackActivity)

同理需要建立回調的平臺還有支付寶與易信,支付寶是需要建立一個apshare的文件夾,然后建立一個ShareEntryActivity的類,繼承ShareCallbackActivity。易信是需要建立一個yxapi的文件夾,建立一個YXEntryActivity的類繼承YXCallbackActivity。如果不使用這兩個平臺可以不用建立。
同理新浪微博也需要一個回調的Activity,與微信不同的是它只需要在包名目錄下建立一個名為WBShareActivity類即可,不用建立文件夾,該類繼承WBShareCallBackActivity,如下圖所示(注意看目錄結構):

修改AndroidManiFest

首先需要添加權限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
然后加入sdk中需要的Activity:

新浪:

       <activity
            android:name=".WBShareActivity"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
            android:configChanges="keyboardHidden|orientation"
            android:windowSoftInputMode="adjustResize"
            android:exported="false" >
        </activity>
          <service android:name="com.sina.weibo.sdk.net.DownloadService"
            android:exported="false"></service>

微信:

<activity
        android:name=".wxapi.WXEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

支付寶:

    <activity
        android:name=".apshare.ShareEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

qq完整版:

    <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >
            
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tencent100424468" />
            </intent-filter>
    </activity>
    <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>

分享編輯頁(只有豆瓣人人騰訊微博twitter領英需要):

 <activity
        android:name="com.umeng.socialize.editorpage.ShareActivity"
        android:theme="@style/Theme.UMDefault"
        android:excludeFromRecents="true"
        />

其他平臺的回調activity請到附錄中查詢。

添加友盟appkey
    <meta-data
            android:name="UMENG_APPKEY"
            android:value="561cae6ae0f55abd990035bf" >
    </meta-data>

修改build.gradle文件

將文件夾中的簽名文件放入到工程中,例如我的簽名文件是debug.keystore

然后增加簽名文件的密碼:

signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword "android"
        keyAlias "androiddebugkey"
        keyPassword "android"
    }
}

然后在buildTypes中將這個signingConfigs配置進去,如下圖所示:

簽名文件如果不加,部分平臺的授權會受到影響。

配置各個平臺的appkey

建立一個application文件,隨便起一個名字,比如叫App,別忘了在AndroidManifest文件中配置(如果本身已有,不需要重新建立):

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:name=".App"
    android:theme="@style/AppTheme">

在application文件中配置三方平臺的appkey:

這里作為示例,只配置了微信、QQ/Qzone、新浪的三方appkey,如果使用其他平臺,在這里增加對應平臺key配置

public class App extends Application{
    {

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    }
    }

在application中初始化sdk,這個初始化最好放在application的程序入口中,防止意外發生:

        @Override
        public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }

分享

分享文檔

授權

授權文檔

混淆文件

為了保證引用友盟Social SDK jar文件以及騰訊jar文件不被混淆,請在proguard.cfg文件中添加以下代碼避免被混淆.

    -dontusemixedcaseclassnames
    -dontshrink
    -dontoptimize
    -dontwarn com.google.android.maps.**
    -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

    -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 class com.android.dingtalk.share.ddsharemodule.** { *; }
    -keep public class com.umeng.socialize.* {*;}


    -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.** {
   *;
    }
    -dontwarn twitter4j.**
    -keep class twitter4j.** { *; }

    -keep class com.tencent.** {*;}
    -dontwarn com.tencent.**
    -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.sina.** {*;}
    -dontwarn com.sina.**
    -keep class  com.alipay.share.sdk.** {
       *;
    }
    -keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
    }

    -keep class com.linkedin.** { *; }
    -keepattributes Signature
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 產品概述 Android U-share 6.0sdk是在5.0+的基礎上做了進一步的優化,降低了包的大小,對于三...
    AiPuff閱讀 7,131評論 1 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,335評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • 是什么時候發覺自己長大了呢。是十八歲的成人禮?高考后的出門遠行?還是二十歲開始的漸漸地經濟獨立? 不是的,我的長大...
    沙洲葭葦閱讀 263評論 0 0
  • 十年的時光,你會經歷許多,四季交替,也會使你進入到20幾歲的打拼期和熱血期。 然后你會遇到許多地故事...
    帝君隱閱讀 251評論 0 0