1. 程式人生 > >QQ sdk和Android sdk 28的相容處理

QQ sdk和Android sdk 28的相容處理

QQ_SDK和ANDROID_SDK_28的相容問題

Android 最新的SDK早就出來了,版本號為28,包含了很多新東西,用起來是爽了,可其中的坑是一個接一個的,今天主要說下整合QQ_SDK的時候遇到的一些問題

首先是Android這次在SDK_28中移除了QQ_SDK還在使用的Apache_HTTP元件,so,如果你想用上最新的SDK而且還要整合QQ登陸等功能,那麼你需要這樣做:
在你的app下的build.gradle中新增下面這句話。

android {
    //QQ_SDK使用了AndroidX去掉的Apache_Http元件
    useLibrary 'org.apache.http.legacy'
}

其次還使用了這些被移除的元件:
同樣在下面的位置新增相應的依賴。

dependencies {
    implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    //noinspection DuplicatePlatformClasses
    implementation 'commons-logging:commons-logging:1.2'
}

但如果你的專案開啟了混淆,你會發現即是這樣做了之後還是會報錯,你還需要在你的混淆規則裡新增以下規則:

-keep class org.apache.** {*;}
-dontwarn org.apache.**
-keep class org.apache.http.** { *; }
-keep class android.net.http.** { *; }
-dontwarn org.apache.http.**
-dontwarn android.net.http.**

OK 解下來就可以正常使用了

下次再講SDK_28中的新控制元件在使用方面的坑。

寫於2018/08/30