java.lang.RuntimeException: Unable to get provider com.tencent.android.tpush.SettingsContentProvide

问题:集成

'com.tencent.tpns:tpns:1.2.6.0-release'   //TPNS 推送包

在Android 4.4 报错

 java.lang.RuntimeException: Unable to get provider com.tencent.android.tpush.SettingsContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.tencent.android.tpush.SettingsContentProvider" on path: DexPathList
[[zip file "/data/app/com.savekey.cloud-2.apk"],nativeLibraryDirectories=
[/data/app-lib/com.savekey.cloud-2, /vendor/lib, /system/lib]]
 

说明:项目中因为 Cannot fit requested classes in a single dex file (# methods: 149346 > 65536)这个错误而引入multidex库, 'com.android.support:multidex:1.0.3'

解决方案:根据推送官方技术人员提供的技术支持,解决问题如下

1. 在app项目下新建 multidex-config.pro文件,

2. 在文件添加:

-keep class com.tencent.android.tpush.SettingsContentProvider {*;}
-keep class com.tencent.android.tpush.logging.TLogger {*;}
-keep class com.tencent.tpns.baseapi.base.logger.** {*;}
-keep public class * extends android.app.Service
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.content.BroadcastReceiver
-keep class com.tencent.android.tpush.** {*;}

-keep class com.tencent.bugly.** {*;}

3.在build.gradle添加  multiDexKeepProguard file('multidex-config.pro') 这段

 buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            multiDexKeepProguard file('multidex-config.pro')
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            multiDexKeepProguard file('multidex-config.pro')
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值