From 0985b4474007c9673b322b36d88b534fe3fb8704 Mon Sep 17 00:00:00 2001 From: xuqm Date: Fri, 2 Jun 2023 10:31:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=B7=E6=B7=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SzyxImSdk/build.gradle | 12 +- SzyxImSdk/proguard-rules.pro | 157 ++++++++++++++++-- .../android/lib/im/bean/IMUserFullInfo.java | 4 - .../trust/android/lib/im/im/IMHelper.java | 2 +- .../android/lib/im/im/manager/ImManager.java | 4 +- .../im/im/msg/{ => message}/SZYXMessage.java | 2 +- .../lib/im/{im => }/kit/IMInterface.java | 4 +- .../android/lib/im/kit/IMSDKListener.java | 4 +- .../trust/android/lib/im/kit/MsgListener.java | 2 +- .../android/lib/im/kit/SdkMsgInterface.java | 2 +- .../lib/im/manager/SZYXMessageManager.java | 2 +- app/build.gradle | 13 +- app/libs/SzyxImSdk-release.aar | Bin 0 -> 45308 bytes .../trust/android/imdemo/MyApplication.java | 5 +- .../trust/android/imdemo/ui/ChatActivity.java | 1 - 15 files changed, 175 insertions(+), 39 deletions(-) delete mode 100644 SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/bean/IMUserFullInfo.java rename SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/{ => message}/SZYXMessage.java (98%) rename SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/{im => }/kit/IMInterface.java (88%) create mode 100644 app/libs/SzyxImSdk-release.aar diff --git a/SzyxImSdk/build.gradle b/SzyxImSdk/build.gradle index fa95369..d72c003 100644 --- a/SzyxImSdk/build.gradle +++ b/SzyxImSdk/build.gradle @@ -20,8 +20,18 @@ android { } buildTypes { - release { + debug { + // 开启混淆 minifyEnabled false + // Zipalign压缩优化 + zipAlignEnabled true + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + release { + // 开启混淆 + minifyEnabled true + // Zipalign压缩优化 + zipAlignEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } diff --git a/SzyxImSdk/proguard-rules.pro b/SzyxImSdk/proguard-rules.pro index 481bb43..55cbedd 100644 --- a/SzyxImSdk/proguard-rules.pro +++ b/SzyxImSdk/proguard-rules.pro @@ -1,21 +1,144 @@ -# 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 +# 对于一些基本指令的添加 +# +############################################# +# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改 +-optimizationpasses 5 -# 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 *; -#} +# 混合时不使用大小写混合,混合后的类名为小写 +-dontusemixedcaseclassnames -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable +# 混淆时是否记录日志,这句话能够使我们的项目混淆后产生映射文件 +# 包含有类名->混淆后类名的映射关系 +-verbose -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +# 指定不去忽略非公共库的类 +#-dontskipnonpubliclibraryclasses + + +# 指定不去忽略非公共库的类成员 +#-dontskipnonpubliclibraryclassmembers + +# 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。 +#-dontpreverify + +# 保留Annotation不混淆 +-keepattributes *Annotation*,InnerClasses + +# 避免混淆泛型 +-keepattributes Signature +# 忽略警告 +# -ignorewarning +# 优化不优化输入的类文件 +-dontoptimize +# 抛出异常时保留代码行号 +-keepattributes SourceFile,LineNumberTable + +# 指定混淆是采用的算法,后面的参数是一个过滤器 +# 这个过滤器是谷歌推荐的算法,一般不做更改 +-optimizations !code/simplification/cast,!field/*,!class/merging/* + + +############################################# +# +# Android开发中一些需要保留的公共部分 +# +############################################# + +# 保留我们使用的四大组件,自定义的Application等等这些类不被混淆 +# 因为这些子类都有可能被外部调用 +# -keep public class * extends android.app.Activity +# -keep public class * extends android.app.Appliction +# -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 android.view.View + -keep public class cn.org.bjca.trust.android.lib.im.SZYXImSdk{ ;} + -keep public class cn.org.bjca.trust.android.lib.im.common.**{*;} + -keep interface cn.org.bjca.trust.android.lib.im.kit.**{*;} + -keep public class cn.org.bjca.trust.android.lib.im.bean.**{*;} + -keep public class cn.org.bjca.trust.android.lib.im.im.msg.message.**{*;} + +-keepattributes MethodParameters + + +# 保留support下的所有类及其内部类 +-keep class android.support.** {*;} + +# 保留继承的 +-keep public class * extends android.support.v4.** +-keep public class * extends android.support.v7.** +-keep public class * extends android.support.annotation.** + +# 保留R下面的资源 +-keep class **.R$* {*;} + +# 保留本地native方法不被混淆 +-keepclasseswithmembernames class * { + native ; +} + +# 保留在Activity中的方法参数是view的方法, +# 这样以来我们在layout中写的onClick就不会被影响 +-keepclassmembers class * extends android.app.Activity{ + public void *(android.view.View); +} + +# 保留枚举类不被混淆 +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# 保留我们自定义控件(继承自View)不被混淆 +-keep public class * extends android.view.View{ + *** get*(); + void set*(***); + public (android.content.Context); + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); +} + +# 保留Parcelable序列化类不被混淆 +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +# 保留Serializable序列化的类不被混淆 +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + !static !transient ; + !private ; + !private ; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆 +-keepclassmembers class * { + void *(**On*Event); + void *(**On*Listener); + void *(**add*Listener); +} + +-keep interface kotlin.Metadata { + *; +} +-keepattributes RuntimeVisibleAnnotations + +# 华为相关 +-ignorewarnings +-keepattributes *Annotation* +-keepattributes Exceptions +-keepattributes InnerClasses +-keepattributes Signature +-keepattributes SourceFile,LineNumberTable +-keep class com.huawei.hianalytics.**{*;} +-keep class com.huawei.updatesdk.**{*;} +-keep class com.huawei.hms.**{*;} \ No newline at end of file diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/bean/IMUserFullInfo.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/bean/IMUserFullInfo.java deleted file mode 100644 index 1eb0ac5..0000000 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/bean/IMUserFullInfo.java +++ /dev/null @@ -1,4 +0,0 @@ -package cn.org.bjca.trust.android.lib.im.bean; - -public class IMUserFullInfo { -} diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/IMHelper.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/IMHelper.java index de28a2e..6e38fea 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/IMHelper.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/IMHelper.java @@ -1,6 +1,6 @@ package cn.org.bjca.trust.android.lib.im.im; -import cn.org.bjca.trust.android.lib.im.im.kit.IMInterface; +import cn.org.bjca.trust.android.lib.im.kit.IMInterface; import cn.org.bjca.trust.android.lib.im.im.manager.ImManager; public class IMHelper { diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java index 98328d8..5500a97 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java @@ -27,10 +27,10 @@ import cn.org.bjca.trust.android.lib.im.common.json.GsonImplHelp; import cn.org.bjca.trust.android.lib.im.enums.MsgType; import cn.org.bjca.trust.android.lib.im.enums.PacketType; import cn.org.bjca.trust.android.lib.im.im.bean.PacketMessage; -import cn.org.bjca.trust.android.lib.im.im.kit.IMInterface; +import cn.org.bjca.trust.android.lib.im.kit.IMInterface; import cn.org.bjca.trust.android.lib.im.im.msg.ConnectMessage; import cn.org.bjca.trust.android.lib.im.im.msg.ConnectedMessage; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXMessage; import cn.org.bjca.trust.android.lib.im.im.msg.SendAckMessage; import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXTextMessage; import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions; diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/message/SZYXMessage.java similarity index 98% rename from SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java rename to SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/message/SZYXMessage.java index b285dce..7439c66 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SZYXMessage.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/message/SZYXMessage.java @@ -1,4 +1,4 @@ -package cn.org.bjca.trust.android.lib.im.im.msg; +package cn.org.bjca.trust.android.lib.im.im.msg.message; import androidx.annotation.NonNull; diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMInterface.java similarity index 88% rename from SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java rename to SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMInterface.java index cd247a2..7442530 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/kit/IMInterface.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMInterface.java @@ -1,7 +1,7 @@ -package cn.org.bjca.trust.android.lib.im.im.kit; +package cn.org.bjca.trust.android.lib.im.kit; import cn.org.bjca.trust.android.lib.im.enums.MsgType; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXMessage; import cn.org.bjca.trust.android.lib.im.im.opt.ImConnectOptions; import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback; import cn.org.bjca.trust.android.lib.im.kit.IMSDKListener; diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMSDKListener.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMSDKListener.java index 599e876..d79f3ff 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMSDKListener.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/IMSDKListener.java @@ -1,6 +1,6 @@ package cn.org.bjca.trust.android.lib.im.kit; -import cn.org.bjca.trust.android.lib.im.bean.IMUserFullInfo; +import cn.org.bjca.trust.android.lib.im.bean.UserInfo; public interface IMSDKListener { /** @@ -30,6 +30,6 @@ public interface IMSDKListener { /** * 用户信息变更 */ - void onSelfInfoUpdated(IMUserFullInfo info); + void onSelfInfoUpdated(UserInfo info); } diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/MsgListener.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/MsgListener.java index 1f7d3a4..c0dfa83 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/MsgListener.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/MsgListener.java @@ -2,7 +2,7 @@ package cn.org.bjca.trust.android.lib.im.kit; import java.util.List; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXMessage; public interface MsgListener { void messageArrive(List messages); diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java index 24d9416..78f9982 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/kit/SdkMsgInterface.java @@ -1,6 +1,6 @@ package cn.org.bjca.trust.android.lib.im.kit; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXMessage; public interface SdkMsgInterface { diff --git a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java index cc9f00d..31b2f36 100644 --- a/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java +++ b/SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/manager/SZYXMessageManager.java @@ -2,7 +2,7 @@ package cn.org.bjca.trust.android.lib.im.manager; import cn.org.bjca.trust.android.lib.im.enums.MsgType; import cn.org.bjca.trust.android.lib.im.im.IMHelper; -import cn.org.bjca.trust.android.lib.im.im.msg.SZYXMessage; +import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXMessage; import cn.org.bjca.trust.android.lib.im.im.msg.message.SZYXTextMessage; import cn.org.bjca.trust.android.lib.im.kit.IMSDKCallback; import cn.org.bjca.trust.android.lib.im.kit.MsgListener; diff --git a/app/build.gradle b/app/build.gradle index aed22d5..0118532 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,12 +30,21 @@ android { buildFeatures { viewBinding true } -} + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + } + + } +} dependencies { +// implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs') + + api project(path: ':SzyxImSdk') - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.appcompat:appcompat:1.4.2' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.annotation:annotation:1.3.0' diff --git a/app/libs/SzyxImSdk-release.aar b/app/libs/SzyxImSdk-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..8e08a31a49507cac65243e55d05f1c29e458cbbb GIT binary patch literal 45308 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

fMIsf~WuV5I5qfg`hPSPRfNw@X%A)5KI8;-FL5L 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 { String userName = getIntent().getStringExtra("userName"); setTitleText(userName + "(" + userId + ")"); getBaseBinding().baseToolbar.getToolbarMenu().setVisibility(View.VISIBLE); - getBinding().btnSend.setOnClickListener(v -> { String msg = getBinding().et.getText().toString(); if (!ToolsHelper.isNull(msg)) {