diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..aa23348 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,3 @@ +/build +/debug +/release \ No newline at end of file diff --git a/app/agconnect-services.json b/app/agconnect-services.json new file mode 100644 index 0000000..8b75e68 --- /dev/null +++ b/app/agconnect-services.json @@ -0,0 +1,29 @@ +{ + "agcgw_all":{ + "CN":"connect-drcn.hispace.hicloud.com", + "CN_back":"connect-drcn.dbankcloud.cn", + "DE":"connect-dre.hispace.hicloud.com", + "DE_back":"connect-dre.dbankcloud.cn", + "RU":"connect-drru.hispace.hicloud.com", + "RU_back":"connect-drru.dbankcloud.cn", + "SG":"connect-dra.hispace.hicloud.com", + "SG_back":"connect-dra.dbankcloud.cn" + }, + "client":{ + "cp_id":"890086000102014306", + "product_id":"9105163812218585677", + "client_id":"178572405214545024", + "client_secret":"B90774CD63B8A6AB5C2C587DC9D7C4C666EF53A19DBA70C4D549C6302ED6CFBE", + "project_id":"9105163812218585677", + "app_id":"10526652", + "api_key":"CV58Raxnpwbfazn6iLPkESUy7KoiUzZ5iTv8lFg/WuexwYZceAK6F9BjRf0HVmT+039dGKt5yecdkRdQ4FCHsmLZ1Zvh", + "package_name":"cn.shangyu.gdxzExpert" + }, + "configuration_version":"2.0", + "appInfos":[ + { + "package_name":"cn.shangyu.gdxzExpert", + "app_id":"10526652" + } + ] +} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..50d547e --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,267 @@ +apply plugin: 'com.android.application' +apply plugin: 'com.huawei.agconnect' + +// 统一排除外部引入的 zip4j,避免与 DCUniMPSDK AAR 内置类重复 +configurations.all { + exclude group: 'net.lingala.zip4j', module: 'zip4j' +} + +//必须配置 +def mfph = [ + //包名 + "apk.applicationId" : "cn.shangyu.gdxzExpert", +] + +android { + namespace 'cn.shangyu.gdxzExpert' + signingConfigs { + release { + keyAlias 'gdxzdoctor_key' + keyPassword 'password' + storeFile file('D:/projects/key/gdxzdoctor_key.key.keystore') + storePassword 'password' + } + } + compileSdkVersion 35 + buildToolsVersion "35.0.0" + defaultConfig { + applicationId "cn.shangyu.gdxzExpert" + minSdkVersion 21 + targetSdkVersion 34 + versionCode 133 + versionName "4.1.6" + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + multiDexEnabled true + ndk { +// abiFilters "armeabi", "armeabi-v7a", "x86" , "arm64-v8a" +// abiFilters "arm64-v8a" + abiFilters 'x86_64','arm64-v8a' //不支持armeabi 64位 + +// abiFilters "armeabi", "armeabi-v7a", "x86" , "arm64-v8a"// 64+32 混合 + } + signingConfig signingConfigs.release + manifestPlaceholders = mfph + } + aaptOptions { + additionalParameters '--auto-add-overlay' + //noCompress 'foo', 'bar' + ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~" + } + compileOptions { +// sourceCompatibility 1.8 +// targetCompatibility 1.8 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + dexOptions { + incremental true + preDexLibraries false + jumboMode true + javaMaxHeapSize "6g" + } + lintOptions { + checkReleaseBuilds false + // Or, if you prefer, you can continue to check for errors in release builds, + // but continue the build even when errors are found: + abortOnError false + } + packagingOptions{ + pickFirst 'lib/armeabi-v7a/libc++_shared.so' + pickFirst 'lib/arm64-v8a/libc++_shared.so' + pickFirst 'lib/x86/libc++_shared.so' + pickFirst 'lib/x86_64/libc++_shared.so' + } + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + debug { + signingConfig signingConfigs.release + } + } + useLibrary 'org.apache.http.legacy' + productFlavors { + } + + // AGP 8.0+ 需要显式启用 buildConfig + buildFeatures { + buildConfig = true + } +} + + + +dependencies { + + + implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs') + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation project(path: ':pager-bottom-tab-strip') + implementation project(path: ':zbarlibary') + implementation project(path: ':autosize') + // 投屏sdk + implementation files("libs/wx-commonlib-1.0.1.aar") + implementation files("libs/wx-dlnasdk-1.1.5.aar") + implementation files("libs/wx-dlnasender-1.1.5.aar") + implementation files("libs/wx-jettylib-1.0.1.aar") + + testImplementation 'junit:junit:4.12' + androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + implementation files('libs/afinal_0.5.1_bin.jar') + implementation files('libs/classes.jar') + implementation files('libs/httpmime-4.1.3.jar') + implementation files('libs/Msc.jar') + implementation files('libs/pinyin4j-2.5.0.jar') + implementation files('libs/Sunflower.jar') + implementation files('libs/universal-image-loader-1.9.4-with-sources.jar') + implementation files('libs/xUtils-2.6.14.jar') + implementation project(path: ':uikit') + implementation project(path: ':selector') +//华为推送 + implementation 'com.huawei.hms:push:6.5.0.300' + + implementation ('com.github.barteksc:android-pdf-viewer:3.1.0-beta.1') { + exclude group: 'com.android.support' + } + implementation 'com.github.dfqin:grantor:2.1.0' + implementation files('libs/commons-lang-2.6.jar') + implementation 'androidx.annotation:annotation:1.0.0' + implementation 'androidx.multidex:multidex:2.0.0' + + implementation 'net.polyv.android:polyvPlayer:2.18.2'//SDK核心包 + implementation 'net.polyv.android:polyvModuleABI:1.7.6'//SDK核心包 + implementation 'net.polyv.android:polyvDownload:2.18.2'//SDK下载功能 + implementation 'net.polyv.android:polyvUpload:2.3.3'//SDK上传功能 + implementation 'de.hdodenhof:circleimageview:2.2.0' + implementation 'com.daimajia.swipelayout:library:1.2.0@aar' + implementation 'net.polyv.android:polyvGif:2.2.2'//demo中课程讨论区显示的内容里用到的包 + implementation 'net.polyv.android:polyvSub:2.17.0'//弹幕、截图功能中使用 + + implementation 'de.greenrobot:eventbus:3.0.0-beta1' + implementation 'androidx.recyclerview:recyclerview:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'com.pingxx:pingpp-android:2.3.5' // (Ping++ 标准版 SDK) 必须添加 + implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.5.8' // 使用微信支付时添加,具体版本参考微信官方文档或者 jcenter + implementation 'com.pingxx:pingpp-android-alipay:15.7.4' // 使用支付宝时添加(bu包含 UTDID) + //压缩图片 + implementation 'top.zibin:Luban:1.1.8' + +// //数据库 + implementation 'net.zetetic:android-database-sqlcipher:3.5.9' + + //精品课评论刷新 + implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3' + implementation 'com.scwang.smart:refresh-footer-classics:2.0.3' +// 友盟SDK + implementation 'com.umeng.umsdk:common:9.6.7'// 必选 + implementation 'com.umeng.umsdk:asms:1.8.2'// 必选 + implementation 'com.umeng.umsdk:share-core:7.2.0'//分享核心库,必选 + implementation 'com.umeng.umsdk:share-board:7.2.0'//分享面板功能,可选 + + implementation 'com.umeng.umsdk:share-wx:7.1.6' //微信完整版 + implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9'//微信官方依赖库,必选 + + + implementation 'com.umeng.umsdk:share-sina:7.1.6'//新浪微博完整版 +// implementation 'com.sina.weibo.sdk:core:10.10.0:openDefaultRelease@aar'//新浪微博官方SDK依赖库,必选,如在线集成失败请本地下载离线包https://counsel.umeng.com/api/activity/download?fileName=activity/67/openDefault-10.10.0.aar + //沉浸式 + // 基础依赖包,必须要依赖 + implementation 'com.gyf.immersionbar:immersionbar:3.0.0' + // fragment快速实现(可选) + implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' + //androidX 版本使用下面的依赖轮播图 + implementation 'com.github.xiaohaibin:XBanner:androidx_v1.2.1' + //宽高比以及圆角 + implementation 'com.github.1993hzw:Androids:1.3' + + //Recyclerview + 滚动条 + implementation 'com.github.zaaach:TransformersLayout:1.0.8' + //跑马灯 + implementation 'com.gongwen:marqueelibrary:1.1.3' + //友盟Push依赖 + api ('com.umeng.umsdk:push:6.6.3') + { + exclude group: 'com.umeng.umsdk', module: 'utdid' + exclude group: 'com.umeng.umsdk', module: 'alicloud-httpdns' + exclude group: 'com.umeng.umsdk', module: 'alicloud-utils' + exclude group: 'com.umeng.umsdk', module: 'alicloud_beacon' + } + api 'com.umeng.umsdk:huawei-umengaccs:1.3.6' + + //友盟号码一键登录 + implementation 'com.umeng.umsdk:uverify:2.6.1'// 必选 + implementation 'com.umeng.umsdk:uverify-main:2.1.4'// 必选 + implementation 'com.umeng.umsdk:uverify-logger:2.1.4'// 必选 + implementation 'com.umeng.umsdk:uverify-crashshield:2.1.4'// 必选 + + + implementation 'com.android.volley:volley:1.2.1' + + + // 基础功能 (必需) + implementation "com.netease.nimlib:basesdk:9.6.3" + + // 聊天室需要 + implementation "com.netease.nimlib:chatroom:9.6.3" + + // 通过云信来集成小米等厂商推送需要 + implementation "com.netease.nimlib:push:9.6.3" + + // 超大群需要 + implementation "com.netease.nimlib:superteam:9.6.2" + + // 全文检索插件 + implementation "com.netease.nimlib:lucene:9.6.3" + + //以下依赖都需要添加 + implementation 'com.google.code.gson:gson:2.6.2' + implementation 'com.android.support:support-annotations:28.0.0' + implementation 'commons-codec:commons-codec:1.6' + + implementation 'com.binioter:guideview:1.0.0' + //汉字转拼音 + implementation 'com.github.promeg:tinypinyin:2.0.3' // TinyPinyin核心包,约80KB + + implementation 'com.github.promeg:tinypinyin-lexicons-android-cncity:2.0.3' // 可选,适用于Android的中国地区词典 + + implementation 'com.github.promeg:tinypinyin-lexicons-java-cncity:2.0.3' // 可选,适用于Java的中国地区词典 + + implementation 'com.zhy:okhttputils:2.6.2'//okhttp + implementation 'com.squareup.okhttp3:okhttp:3.9.0' + //弹窗 + implementation 'com.github.getActivity:EasyWindow:10.3' + //图表 + implementation 'com.github.AAChartModel:AAChartCore:7.2.0' + //进度条 + implementation 'com.github.zhouzhuo810:ZzHorizontalProgressBar:1.1.1' + //日期选择器 + + implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.13' + + + //uniapp + implementation 'androidx.recyclerview:recyclerview:1.0.0' //必须集成,android 自带recyclerview支持 + implementation 'androidx.legacy:legacy-support-v4:1.0.0' //必须集成,androidx support支持 + implementation 'androidx.appcompat:appcompat:1.0.0' //必须集成,androidx appcompat支持 + implementation 'com.alibaba:fastjson:1.2.83' //必须集成,fastjson功能需要 + implementation 'com.facebook.fresco:fresco:2.5.0'//必须集成,图片加载需要 + implementation 'com.facebook.fresco:animated-gif:2.5.0'//必须集成,图片加载需要 + implementation 'androidx.webkit:webkit:1.5.0' //4.45版本之后 必须集成,用来支持暗黑模式 + implementation 'com.github.bumptech.glide:glide:4.1.1'//必须集成,图片加载需要 +// implementation 'com.github.bumptech.glide:glide:4.9.0' + // 重要:避免部分设备可能卡死的问题 +// annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' + + implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..1b2532f --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,854 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} +# 注:容联混淆配置 +#-libraryjars libs/Yuntx_IMLib_v5.3.1r.jar +#-keep class com.yuntongxun.ecsdk.** {*; } + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference + +-keepclasseswithmembernames class * { + native ; +} +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +#自定义控件不要混淆 +-keep public class * extends android.view.View { *; } +#adapter也不能混淆 +-keep public class * extends android.widget.BaseAdapter { *; } +#如果你使用了CusorAdapter,添加下面这行 +-keep public class * extends android.widget.CusorAdapter{ *; } + +#数据模型不要混淆 +-keepnames class * implements java.io.Serializable + +#-dontoptimize +#-dontpreverify +##XBanner 图片轮播混淆配置 +-keep class com.stx.xhb.xbanner.**{*;} + +-dontwarn com.netease.** +-keep class com.netease.** {*;} +#如果你开启数据库功能,需要加入 +-keep class net.sqlcipher.** {*;} +### APP 3rd party jars(glide) +-keep public class * implements com.bumptech.glide.module.GlideModule +-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { + **[] $VALUES; + public *; +} + +-dontwarn com.netease.** +-keep class com.netease.** {*;} + + +#第三方类库 +-libraryjars libs/xUtils-2.6.14.jar +-libraryjars libs/universal-image-loader-1.9.4-with-sources.jar +-libraryjars libs/gson-2.2.4.jar +#-libraryjars libs/androidx.fragment.jar +-libraryjars libs/pinyin4j-2.5.0.jar +-libraryjars libs/commons-codec-1.3.jar +#-libraryjars libs/BaiduLBS_Android.jar +-libraryjars libs/umeng-update-v2.6.0.1.jar + +-keep class android.** { *; } +-keep class androidx.fragment.** { *; } +-keep class com.google.gson.** { *; } +-keep class org.apache.commons.codec.** { *; } +-keep class com.nostra13.universalimageloader.** { *; } +-keep class net.sourceforge.pinyin4j.** { *; } +-keep class com.hp.hpl.sparta.** { *; } +-keep class de.greenrobot.event.** { *; } +-keep class demo.** { *; } +-dontwarn demo.** + + +#-keep class com.baidu.** { *; } +#-dontwarn com.baidu.** + +-keep class com.umeng.** {*;} + +-keepclassmembers class * { + public (org.json.JSONObject); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} +##---------------友盟 ---------- +-dontshrink +-dontoptimize +-dontwarn com.google.android.maps.** +-dontwarn android.webkit.WebView +-dontwarn com.umeng.** +-keepattributes Exceptions,InnerClasses,Signature +-keepattributes *Annotation* +-keepattributes SourceFile,LineNumberTable +-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 public class javax.** +-keep public class android.webkit.** +-keep class com.umeng.scrshot.** +-keep public class com.tencent.** {*;} +-keep class com.umeng.socialize.sensor.** +-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} +-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} +-keep public class [your_pkg].R$*{ + public static final int *; +} +-ignorewarning +-keepattributes *Annotation* +-keepattributes Exceptions +-keepattributes InnerClasses +-keepattributes Signature +-keepattributes SourceFile,LineNumberTable + +-dontwarn com.vivo.push.** +-keep class com.vivo.push.**{*; } +-keep class com.vivo.vms.**{*; } +-keep class com.netease.nimlib.mixpush.vivo.VivoPush* {*;} +-keep class com.netease.nimlib.mixpush.vivo.VivoPushReceiver{*;} +-keep class com.heytap.msp.** { *;} +##--------友盟消息推送-------- + +-dontwarn com.taobao.** +-keep class org.android.agoo.xiaomi.MiPushBroadcastReceiver {*;} +-dontwarn anetwork.channel.** +-dontwarn org.android.** +-dontwarn org.apache.thrift.** +-dontwarn com.xiaomi.push.** +-dontwarn com.huawei.** + +-keepattributes *Annotation* + + +-keep public class **.R$*{ + public static final int *; +} +##友盟分享-----begin----- +-keepclassmembers class * { + public (org.json.JSONObject); +} +-keep public class com.example.newsdemo.R$*{ + public static final int *; +} + +##友盟分享-----end----- + +##---------------Begin: proguard configuration for Gson ---------- +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-keep class sun.misc.Unsafe { *; } +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class com.google.gson.examples.android.model.** { *; } +#注意:::所有gson涉及的bean与model,serialized/deserialized + +-keep class cn.shangyu.gdxzExpert.bean.** { *; } +-keep class cn.shangyu.gdxzExpert.db.** { *; } +-keep class cn.shangyu.gdxzExpert.ecdemo.storage.** { *; } +-keep class cn.shangyu.gdxzExpert.ecdemo.ui.chatting.holder.** { *; } +-keep class cn.shangyu.gdxzExpert.ecdemo.ui.chatting.model.** { *; } +-keep class cn.shangyu.gdxzExpert.widge.pickerview.lib.** { *; } +-keep class cn.shangyu.gdxzExpert.protocol.** { *; } + +##---------------End: proguard configuration for Gson ---------- + +#xutils包下所有类不要混淆,包括类里面的方法 +-keep class com.lidroid.** { *; } +-keep class * extends java.lang.annotation.Annotation { *; } + +-keepclasseswithmembers class *{ + public *; +} +-dontshrink +-dontoptimize +-dontwarn com.squareup.okhttp.** +-dontwarn android.webkit.WebView +-dontwarn com.umeng.** +-dontwarn com.tencent.weibo.sdk.** + + +-dontwarn android.support.v4.** +-keepattributes Exceptions,InnerClasses,Signature +-keepattributes *Annotation* +-keepattributes SourceFile,LineNumberTable +-keepattributes EnclosingMethod + +-keep public class com.umeng.socialize.* {*;} + +-keep class com.umeng.commonsdk.statistics.common.MLog {*;} +-keep class com.umeng.commonsdk.UMConfigure {*;} +-keep class com.umeng.socialize.handler.* +-keep class com.umeng.weixin.handler.* +-keep class com.umeng.qq.handler.* + + +-dontwarn com.tencent.** +-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$* {*;} + +-dontwarn com.sina.** + + + +-keepnames class * implements android.os.Parcelable { + public static final ** CREATOR; +} + + +-keepattributes Signature +#删除log代码 +-assumenosideeffects class android.util.Log { + public static boolean isLoggable(java.lang.String, int); + public static int v(...); + public static int i(...); + public static int w(...); + public static int d(...); + public static int e(...); +} +#ping++ + +-dontwarn com.alipay.** +-keep class com.alipay.** {*;} + +-dontwarn com.ta.utdid2.** +-keep class com.ta.utdid2.** {*;} + +-dontwarn com.ut.device.** +-keep class com.ut.device.** {*;} + +-dontwarn com.unionpay.** +-keep class com.unionpay.** {*;} + +-dontwarn com.pingplusplus.** +-keep class com.pingplusplus.** {*;} + + + +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} +-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 androidx.fragment.** +-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 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.** { + *; +} +-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 + +-keep class com.iflytek.**{*;} +-keepattributes Signature +-ignorewarnings +-keepattributes EnclosingMethod +-keepattributes InnerClasses + + +#表示混淆时不使用大小写混合类名 +-dontusemixedcaseclassnames +#表示不跳过library中的非public的类 +-dontskipnonpubliclibraryclasses +#打印混淆的详细信息 + + + + +#表示混淆时不使用大小写混合类名 polyv混淆 +-dontusemixedcaseclassnames +#表示不跳过library中的非public的类 +-dontskipnonpubliclibraryclasses +#打印混淆的详细信息 +-verbose + +# Optimization is turned off by default. Dex does not like code run +# through the ProGuard optimize and preverify steps (and performs some +# of these optimizations on its own). +-dontoptimize +##表示不进行校验,这个校验作用 在java平台上的 +-dontpreverify +# Note that if you want to enable optimization, you cannot just +# include optimization flags in your own project configuration file; +# instead you will need to point to the +# "proguard-android-optimize.txt" file instead of this one from your +# project.properties file. + +-keepattributes *Annotation* +-keep public class com.google.vending.licensing.ILicensingService +-keep public class com.android.vending.licensing.ILicensingService + +# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native +-keepclasseswithmembernames class * { + native ; +} + +# keep setters in Views so that animations can still work. +# see http://proguard.sourceforge.net/manual/examples.html#beans +-keepclassmembers public class * extends android.view.View { + void set*(***); + *** get*(); +} + +# We want to keep methods in Activity that could be used in the XML attribute onClick +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keepclassmembers class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator CREATOR; +} + +-keepclassmembers class **.R$* { + public static ; +} + +# The support library contains references to newer platform versions. +# Don't warn about those in case this app is linking against an older +# platform version. We know about them, and they are safe. +-dontwarn android.support.** + +# Understand the @Keep support annotation. +-keep class android.support.annotation.Keep + +-keep @android.support.annotation.Keep class * {*;} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep (...); +} + +#忽略警告 +-ignorewarnings +#保证是独立的jar,没有任何项目引用,如果不写就会认为我们所有的代码是无用的,从而把所有的代码压缩掉,导出一个空的jar +-dontshrink +#保护泛型 +-keepattributes Signature + +-keep class com.easefun.polyvsdk.**{*;} +-keep class com.chinanetcenter.wcs.**{*;} +-keep class org.apache.http.**{*;} +-keep class tv.danmaku.ijk.media.**{*;} +-keep class net.lingala.zip4j.**{*;} +-keep class org.apache.commons.compress.**{*;} + +###jmdns +-keep class javax.jmdns.** { *; } +-dontwarn javax.jmdns.** + +###CyberGarage-upnp +-keep class org.cybergarage.** { *; } +-dontwarn org.cybergarage.** + +###plist +-keep class com.dd.plist.** { *; } +-dontwarn com.dd.plist.** + +###Lebo +-keep class com.hpplay.**{*;} +-keep class com.hpplay.**$*{*;} +-dontwarn com.hpplay.** +-ignorewarning +-keepattributes *Annotation* +-keepattributes Exceptions +-keepattributes InnerClasses +-keepattributes Signature +-keepattributes SourceFile,LineNumberTable +-keep class com.hianalytics.android.**{*;} +-keep class com.huawei.updatesdk.**{*;} +-keep class com.huawei.hms.**{*;} +-keep class com.huawei.android.hms.agent.**{*;} + + +# Ping++ 混淆过滤 +-dontwarn com.pingplusplus.** +-keep class com.pingplusplus.** {*;} +-keep public class com.pingplusplus.android.Pingpp$CmbPayMethod { + *; +} + +# 支付宝混淆过滤 +-dontwarn com.alipay.** +-keep class com.alipay.** {*;} + +# 微信或 QQ 钱包混淆过滤 +-dontwarn com.tencent.** +-keep class com.tencent.** {*;} + +# 银联支付混淆过滤 +-dontwarn com.unionpay.** +-keep class com.unionpay.** {*;} + +# 内部 WebView 混淆过滤 +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} + + +# uniapp 混淆 +-dontwarn +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontskipnonpubliclibraryclassmembers +-dontpreverify +-verbose + +#-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* +-dontoptimize + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class * extends io.dcloud.common.DHInterface.IPlugin +-keep public class * extends io.dcloud.common.DHInterface.IFeature +-keep public class * extends io.dcloud.common.DHInterface.IBoot +-keep public class * extends io.dcloud.common.DHInterface.IReflectAble + +-keep class io.dcloud.** {*;} +-dontwarn io.dcloud.** + + +-keep class vi.com.gdi.** {*;} +-keep class android.support.v4.** {*;} + +-keepclasseswithmembers class io.dcloud.appstream.StreamAppManager { + public protected ; +} + +-keep public class * extends io.dcloud.common.DHInterface.IReflectAble{ + public protected ; + public protected *; +} +-keep class **.R +-keep class **.R$* { + public static ; +} +-keep public class * extends io.dcloud.common.DHInterface.IJsInterface{ + public protected ; + public protected *; +} + +-keepclasseswithmembers class io.dcloud.EntryProxy { + ; +} + +-keep class * implements android.os.IInterface { + ; +} + +-keepclasseswithmembers class *{ + public static java.lang.String getJsContent(); +} + +-keepclasseswithmembers class *{ + public static io.dcloud.share.AbsWebviewClient getWebviewClient(io.dcloud.share.ShareAuthorizeView); +} + +-keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public (android.content.Context, android.util.AttributeSet, int); +} + +-keep public class * extends android.app.Application{ + public static ; + public *; +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); + public static ; +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +-keep class dc.** {*;} +-keep class okio.**{*;} +-keep class org.apache.** {*;} +-keep class org.json.** {*;} +-keep class net.ossrs.** {*;} +-keep class android.** {*;} +-keep class com.facebook.**{*;} +-keep class com.bumptech.glide.**{*;} +-keep class com.alibaba.fastjson.**{*;} +-keep class com.sina.**{*;} +-keep class com.weibo.ssosdk.**{*;} +-keep class com.asus.**{*;} +-keep class com.bun.**{*;} +-keep class com.heytap.**{*;} +-keep class com.huawei.**{*;} +-keep class com.netease.**{*;} +-keep class com.meizu.**{*;} +-keep class com.samsung.**{*;} +-keep class com.zui.**{*;} +-keep class com.amap.**{*;} +-keep class com.autonavi.**{*;} +-keep class pl.droidsonroids.gif.**{*;} +-keep class com.tencent.**{*;} +-keep class com.baidu.**{*;} +-keep class com.iflytek.**{*;} +-keep class com.umeng.**{*;} +-keep class tv.**{*;} +-keep class master.**{*;} +-keep class uk.co.**{*;} +-keep class com.dmcbig.**{*;} +-keep class org.mozilla.**{*;} +-keep class androidtranscoder.**{*;} +-keep class XI.**{*;} + + +-dontwarn android.** +-dontwarn com.tencent.** + +-keep class * implements com.taobao.weex.IWXObject{*;} +-keep public class * extends com.taobao.weex.common.WXModule{*;} + + +-keepattributes Signature + +-dontwarn org.codehaus.mojo.** +-dontwarn org.apache.commons.** +-dontwarn com.amap.** +-dontwarn com.sina.weibo.sdk.** +-dontwarn com.alipay.** +-dontwarn com.lucan.ajtools.** +-dontwarn pl.droidsonroids.gif.** + +-keep class com.taobao.weex.** { *; } +-keep class com.taobao.gcanvas.**{*;} +-dontwarn com.taobao.weex.** +-dontwarn com.taobao.gcanvas.** + +#个推 +-dontwarn com.igexin.** +-keep class com.igexin.** { *; } +-keep class org.json.** { *; } +-dontwarn com.getui.** +-keep class com.getui.** { *; } + +-keep class android.support.v4.app.NotificationCompat { *; } +-keep class android.support.v4.app.NotificationCompat$Builder { *; } +#魅族 +-keep class com.meizu.** { *; } +-dontwarn com.meizu.** +#小米 +-keep class com.xiaomi.** { *; } +-dontwarn com.xiaomi.push.** +-keep class org.apache.thrift.** { *; } +#华为 +-dontwarn com.huawei.hms.** +-keep class com.huawei.hms.** { *; } + +-keep class com.huawei.android.** { *; } +-dontwarn com.huawei.android.** + +-keep class com.hianalytics.android.** { *; } +-dontwarn com.hianalytics.android.** + +-keep class com.huawei.updatesdk.** { *; } +-dontwarn com.huawei.updatesdk.** +#OPPO +-keep class com.coloros.mcssdk.** { *; } +-dontwarn com.coloros.mcssdk.** + +#360聚合广告核心包 +-keep class com.ak.** {*;} +-dontwarn com.ak.** +-keep class android.support.v4.** { +public *; +} + +#广点通SDK +-keep class com.qq.e.** { +public protected *; +} +-keep class android.support.v7.**{ +public *; +} + +#穿山甲SDK +-keep class com.bytedance.sdk.openadsdk.** { *; } +-dontwarn com.bytedance.sdk.openadsdk.** +-keep class com.androidquery.callback.** {*;} +-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;} +-keep class com.ss.sys.ces.* {*;} + +#快手 +-keep class org.chromium.** {*;} +-keep class org.chromium.** {*;} +-keep class aegon.chrome.** {*;} +-keep class com.kwai.**{*;} +-keep class com.kwad.**{*;} +-keepclasseswithmembernames class * { + native ; +} +-dontwarn com.kwai.** +-dontwarn com.kwad.** +-dontwarn com.ksad.** +-dontwarn aegon.chrome.** + +#一键登录 +-dontwarn com.g.gysdk.** +-keep class com.g.gysdk.**{*;} +-dontwarn com.g.elogin.** +-keep class com.g.elogin.**{*;} +-dontwarn com.cmic.sso.sdk.** +-keep class com.cmic.sso.sdk.** {*;} +-dontwarn com.geetest.onelogin.** +-keep class com.geetest.onelogin.** {*;} +-dontwarn com.geetest.onepassv2.** +-keep class com.geetest.onepassv2.** {*;} +-dontwarn com.unicom.xiaowo.login.** +-keep class com.unicom.xiaowo.login.** {*;} +-dontwarn cn.com.chinatelecom.account.api.** +-keep class cn.com.chinatelecom.account.api.** {*;} + + + +#腾讯X5--------------start----------------------- +-dontwarn dalvik.** +-dontwarn com.tencent.smtt.** +#-overloadaggressively +# ------------------ Keep LineNumbers and properties ---------------- # +-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod +# -------------------------------------------------------------------------- +# Addidional for x5.sdk classes for apps +-keep class com.tencent.smtt.export.external.**{*;} +-keep class com.tencent.tbs.video.interfaces.IUserStateChangedListener {*;} +-keep class com.tencent.smtt.sdk.CacheManager {public *;} +-keep class com.tencent.smtt.sdk.CookieManager {public *;} +-keep class com.tencent.smtt.sdk.WebHistoryItem {public *;} +-keep class com.tencent.smtt.sdk.WebViewDatabase {public *;} +-keep class com.tencent.smtt.sdk.WebBackForwardList {public *;} +-keep public class com.tencent.smtt.sdk.WebView {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebView$HitTestResult {public static final ;public java.lang.String getExtra();public int getType();} +-keep public class com.tencent.smtt.sdk.WebView$WebViewTransport {public ;} +-keep public class com.tencent.smtt.sdk.WebView$PictureListener {public ;public ;} +-keepattributes InnerClasses +-keep public enum com.tencent.smtt.sdk.WebSettings$** {*;} +-keep public enum com.tencent.smtt.sdk.QbSdk$** {*;} +-keep public class com.tencent.smtt.sdk.WebSettings {public *;} + +-keepattributes Signature +-keep public class com.tencent.smtt.sdk.ValueCallback {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebViewClient {public ;public ;} +-keep public class com.tencent.smtt.sdk.DownloadListener {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebChromeClient {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebChromeClient$FileChooserParams {public ;public ;} +-keep class com.tencent.smtt.sdk.SystemWebChromeClient{public *;} +# 1. extension interfaces should be apparent +-keep public class com.tencent.smtt.export.external.extension.interfaces.* {public protected *;} + +# 2. interfaces should be apparent +-keep public class com.tencent.smtt.export.external.interfaces.* {public protected *;} +-keep public class com.tencent.smtt.sdk.WebViewCallbackClient {public protected *;} +-keep public class com.tencent.smtt.sdk.WebStorage$QuotaUpdater {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebIconDatabase {public ;public ;} +-keep public class com.tencent.smtt.sdk.WebStorage {public ;public ;} +-keep public class com.tencent.smtt.sdk.DownloadListener {public ;public ;} +-keep public class com.tencent.smtt.sdk.QbSdk {public ;public ;} +-keep public class com.tencent.smtt.sdk.QbSdk$PreInitCallback {public ;public ;} +-keep public class com.tencent.smtt.sdk.CookieSyncManager {public ;public ;} +-keep public class com.tencent.smtt.sdk.Tbs* {public ;public ;} +-keep public class com.tencent.smtt.utils.LogFileUtils {public ;public ;} +-keep public class com.tencent.smtt.utils.TbsLog {public ;public ;} +-keep public class com.tencent.smtt.utils.TbsLogClient {public ;public ;} +-keep public class com.tencent.smtt.sdk.CookieSyncManager {public ;public ;} +# Added for game demos +-keep public class com.tencent.smtt.sdk.TBSGamePlayer {public ;public ;} +-keep public class com.tencent.smtt.sdk.TBSGamePlayerClient* {public ;public ;} +-keep public class com.tencent.smtt.sdk.TBSGamePlayerClientExtension {public ;public ;} +-keep public class com.tencent.smtt.sdk.TBSGamePlayerService* {public ;public ;} +-keep public class com.tencent.smtt.utils.Apn {public ;public ;} +-keep class com.tencent.smtt.** {*;} +# end +-keep public class com.tencent.smtt.export.external.extension.proxy.ProxyWebViewClientExtension {public ;public ;} +-keep class MTT.ThirdAppInfoNew {*;} +-keep class com.tencent.mtt.MttTraceEvent {*;} +# Game related +-keep public class com.tencent.smtt.gamesdk.* {public protected *;} +-keep public class com.tencent.smtt.sdk.TBSGameBooter {public ;public ;} +-keep public class com.tencent.smtt.sdk.TBSGameBaseActivity {public protected *;} +-keep public class com.tencent.smtt.sdk.TBSGameBaseActivityProxy {public protected *;} +-keep public class com.tencent.smtt.gamesdk.internal.TBSGameServiceClient {public *;} +#腾讯X5--------------end----------------------- +