From 8be440d6b25443b7a3405dcadb6cbd6612a5ded0 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 5 Jan 2021 19:18:12 +0800 Subject: [PATCH] proguard --- app/proguard-rules.pro | 13 +++++++++++-- foudations/httpdns-base/consumer-rules.pro | 2 -- .../main/java/com/mogo/httpdns/HttpDnsConst.java | 3 +-- .../java/com/mogo/httpdns/IHttpDnsCallback.java | 3 +-- .../java/com/mogo/httpdns/IHttpDnsTtlCallback.java | 3 +-- .../main/java/com/mogo/httpdns/IMogoHttpDns.java | 4 ++-- .../java/com/mogo/httpdns/MogoHttpDnsHandler.java | 4 +++- .../java/com/mogo/httpdns/mogo/MogoHttpDns.java | 2 ++ foudations/httpdns-noop/consumer-rules.pro | 1 + .../java/com/mogo/commons/AbsMogoApplication.java | 5 ++++- foudations/mogo-utils/consumer-rules.pro | 3 ++- gradle.properties | 4 ++-- .../skin/support/impl/SkinSupportInstaller.java | 1 - skin/mogo-skin-support-noop/consumer-rules.pro | 1 + skin/mogo-skin-support/consumer-rules.pro | 7 ++++++- .../skin/support/IMogoSkinSupportInstaller.java | 11 +++++++++-- .../java/com/mogo/skin/support/MogoSkinManager.java | 13 +++++++++++-- 17 files changed, 57 insertions(+), 23 deletions(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 8773f70341..5fb51b1544 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -87,6 +87,11 @@ -keep public class androidx.**{*;} -keep public class * extends androidx.**{*;} -keep interface androidx.**{*;} +-keep class androidx.appcompat.app.*{*;} +-keep class androidx.appcompat.app.AppCompatActivity{*;} +-keep class androidx.appcompat.app.AppCompatCallback{*;} +-keep class androidx.appcompat.app.AppCompatDelegate{*;} + -dontwarn androidx.** -keep public class android.support.design.R$* { *; } @@ -245,11 +250,15 @@ } #-----ARouter----- --keep public class com.alibaba.android.arouter.routes.**{*;} --keep public class com.alibaba.android.arouter.facade.**{*;} +-keep class com.alibaba.android.arouter.routes.*{*;} +-keep class com.alibaba.android.arouter.facade.annotation.*{*;} +-keep class com.alibaba.android.arouter.facade.enums.*{*;} +-keep class com.alibaba.android.arouter.facade.model.*{*;} +-keep class com.alibaba.android.arouter.facade.template.IProvider{*;} -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;} # If you use the byType method to obtain Service, add the following rules to protect the interface: -keep interface * implements com.alibaba.android.arouter.facade.template.IProvider +-keep class * implements com.alibaba.android.arouter.facade.template.IProvider # If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation # -keep class * implements com.alibaba.android.arouter.facade.template.IProvider diff --git a/foudations/httpdns-base/consumer-rules.pro b/foudations/httpdns-base/consumer-rules.pro index 6cc51a2284..e69de29bb2 100644 --- a/foudations/httpdns-base/consumer-rules.pro +++ b/foudations/httpdns-base/consumer-rules.pro @@ -1,2 +0,0 @@ --keep class com.mogo.httpdns.IMogoHttpDns{*;} --keep class com.mogo.httpdns.MogoHttpDnsHandler{*;} \ No newline at end of file diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/HttpDnsConst.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/HttpDnsConst.java index a934a7db1c..e3dcbaa81c 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/HttpDnsConst.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/HttpDnsConst.java @@ -2,7 +2,6 @@ package com.mogo.httpdns; import androidx.annotation.Keep; -public /** * @author congtaowang * @since 2020/11/18 @@ -10,7 +9,7 @@ public * 描述 */ @Keep -class HttpDnsConst { +public class HttpDnsConst { @Keep public static final String PATH = "/httpdns/api"; diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsCallback.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsCallback.java index 3a5d808256..22bc13cc93 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsCallback.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsCallback.java @@ -3,7 +3,6 @@ package com.mogo.httpdns; import androidx.annotation.Keep; import androidx.annotation.Nullable; -public /** * @author congtaowang * @since 2020/11/19 @@ -11,7 +10,7 @@ public * dns 解析回调 */ @Keep -interface IHttpDnsCallback { +public interface IHttpDnsCallback { @Keep void onParsed( @Nullable String ip ); diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsTtlCallback.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsTtlCallback.java index 4f8f53235f..da946604ac 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsTtlCallback.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IHttpDnsTtlCallback.java @@ -2,7 +2,6 @@ package com.mogo.httpdns; import androidx.annotation.Keep; -public /** * @author congtaowang * @since 2020/11/19 @@ -10,7 +9,7 @@ public * dns ttl 通知 */ @Keep -interface IHttpDnsTtlCallback { +public interface IHttpDnsTtlCallback { @Keep void onTtl(); diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java index 725d63cc72..cc5ed042ef 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/IMogoHttpDns.java @@ -9,7 +9,6 @@ import com.mogo.utils.network.HttpDns; import java.util.Collection; import java.util.List; -public /** * @author congtaowang * @since 2020/11/18 @@ -17,13 +16,14 @@ public * http 请求做http dns转换 */ @Keep -interface IMogoHttpDns extends IProvider { +public interface IMogoHttpDns extends IProvider { /** * 获取 dns 代理实例 * * @return */ + @Keep @Nullable HttpDns dns(); diff --git a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java index dd25cecb0b..a9a7e10fb4 100644 --- a/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java +++ b/foudations/httpdns-base/src/main/java/com/mogo/httpdns/MogoHttpDnsHandler.java @@ -18,8 +18,10 @@ class MogoHttpDnsHandler { } - private static IMogoHttpDns sHttpDns; + @Keep + private static volatile IMogoHttpDns sHttpDns; + @Keep public static IMogoHttpDns getHttpDnsApi() { if ( sHttpDns == null ) { synchronized ( MogoHttpDnsHandler.class ) { diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java index e7b7ab75d9..84522271c4 100644 --- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java +++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java @@ -4,6 +4,7 @@ import android.content.Context; import android.text.TextUtils; import android.util.ArrayMap; +import androidx.annotation.Keep; import androidx.annotation.Nullable; import com.alibaba.android.arouter.facade.annotation.Route; @@ -30,6 +31,7 @@ import java.util.Map; import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP; +@Keep @Route(path = HttpDnsConst.PATH) public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListener { private HttpDnsHelper httpDnsHelper; diff --git a/foudations/httpdns-noop/consumer-rules.pro b/foudations/httpdns-noop/consumer-rules.pro index e69de29bb2..f52fcb035b 100644 --- a/foudations/httpdns-noop/consumer-rules.pro +++ b/foudations/httpdns-noop/consumer-rules.pro @@ -0,0 +1 @@ +-keep class com.mogo.httpdns.noop.*{*;} \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index 636cf85304..89c687e944 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -24,6 +24,7 @@ import com.mogo.httpdns.MogoHttpDnsHandler; import com.mogo.utils.ThreadPoolService; import com.mogo.utils.TipDrawable; import com.mogo.utils.TipToast; +import com.mogo.utils.logger.Logger; import com.mogo.utils.network.NetConfig; import java.security.SecureRandom; @@ -157,7 +158,9 @@ public abstract class AbsMogoApplication extends Application { } IMogoHttpDns dns = MogoHttpDnsHandler.getHttpDnsApi(); - + if(dns == null){ + Logger.d(TAG,"dns is null"); + } NetConfig.instance().setSignaturePrefix( Constants.SIGN_PREFIX ) .setPublicParams( ParamsUtil.getStaticParams() ) .setHostnameVerifier( new AllAllowedHostnameVerifier() ) diff --git a/foudations/mogo-utils/consumer-rules.pro b/foudations/mogo-utils/consumer-rules.pro index 5b5f0f00f9..a5769c6fed 100644 --- a/foudations/mogo-utils/consumer-rules.pro +++ b/foudations/mogo-utils/consumer-rules.pro @@ -4,4 +4,5 @@ -keep class com.mogo.utils.glide.GlideRoundedCornersTransform.CornerType -keep class com.mogo.utils.logger.LogLevel{*;} -keep class com.mogo.utils.sqlite.**{*;} --keep class com.mogo.utils.network.HttpDns{*;} \ No newline at end of file +-keep class com.mogo.utils.network.HttpDns{*;} +-keep class com.mogo.httpdnshelper.sdk.**{*;} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 27d1d9dc3c..ae55ae4e06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -139,9 +139,9 @@ HTTPDNS_NOOP_VERSION = 2.0.12 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=2.2.50 +CARCHATTING_VERSION=2.2.51 # 车聊聊接口 -CARCHATTINGPROVIDER_VERSION=1.1.8 +CARCHATTINGPROVIDER_VERSION=1.1.9 # websocket WEBSOCKET_VERSION=1.1.7 # loglib diff --git a/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java b/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java index d16fb79823..5f5e868252 100644 --- a/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java +++ b/skin/mogo-skin-support-impl/src/main/java/com/mogo/skin/support/impl/SkinSupportInstaller.java @@ -11,7 +11,6 @@ import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.SkinAppCompatDelegateImpl; import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.commons.AbsMogoApplication; import com.mogo.skin.support.IMogoSkinSupportInstaller; import com.mogo.skin.support.SkinMode; import com.mogo.skin.support.SkinSupportInstallerConstants; diff --git a/skin/mogo-skin-support-noop/consumer-rules.pro b/skin/mogo-skin-support-noop/consumer-rules.pro index e69de29bb2..7ca16c94af 100644 --- a/skin/mogo-skin-support-noop/consumer-rules.pro +++ b/skin/mogo-skin-support-noop/consumer-rules.pro @@ -0,0 +1 @@ +-keep class com.mogo.skin.support.noop.SkinSupportInstaller{*;} \ No newline at end of file diff --git a/skin/mogo-skin-support/consumer-rules.pro b/skin/mogo-skin-support/consumer-rules.pro index 5ee93a1450..73927ba858 100644 --- a/skin/mogo-skin-support/consumer-rules.pro +++ b/skin/mogo-skin-support/consumer-rules.pro @@ -1 +1,6 @@ --keep class com.mogo.skin.support.**{*;} \ No newline at end of file +-keep class com.mogo.skin.support.helper.*{*;} +-keep class com.mogo.skin.support.SkinMode{*;} +-keep class com.mogo.skin.support.MogoSkinManager{*;} +-keep class com.mogo.skin.support.IMogoSkinSupportInstaller{*;} +-keep class com.mogo.skin.support.IMogoSkinCompatSupportable{*;} +-keep class com.mogo.skin.support.SkinSupportInstallerConstants{*;} diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java index d31d4bfd6c..caf2ede07f 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/IMogoSkinSupportInstaller.java @@ -4,28 +4,35 @@ import android.app.Activity; import android.app.Application; import android.os.Bundle; +import androidx.annotation.Keep; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatCallback; import androidx.appcompat.app.AppCompatDelegate; import com.alibaba.android.arouter.facade.template.IProvider; -public + /** * @author congtaowang * @since 2020/8/28 * * 描述 */ -interface IMogoSkinSupportInstaller extends IProvider { +@Keep +public interface IMogoSkinSupportInstaller extends IProvider { + @Keep void install( Application application ); + @Keep void loadSkin( SkinMode skinMode ); + @Keep AppCompatDelegate getSkinAppCompatDelegate( AppCompatActivity activity, AppCompatDelegate superDelegate, AppCompatCallback callback ); + @Keep void onCompensateActivityCreated( Activity activity, Bundle savedInstanceState ); + @Keep void onDestroy(); } diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/MogoSkinManager.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/MogoSkinManager.java index 49d971aecd..e3a34e0283 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/MogoSkinManager.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/MogoSkinManager.java @@ -1,24 +1,31 @@ package com.mogo.skin.support; +import androidx.annotation.Keep; + import com.alibaba.android.arouter.launcher.ARouter; -public + /** * @author congtaowang * @since 2020/8/28 *

* 描述 */ -class MogoSkinManager { +@Keep +public class MogoSkinManager { + @Keep private IMogoSkinSupportInstaller mInstaller; + @Keep private static volatile MogoSkinManager sInstance; + @Keep private MogoSkinManager() { mInstaller = ARouter.getInstance().navigation( IMogoSkinSupportInstaller.class ); } + @Keep public static MogoSkinManager getInstance() { if ( sInstance == null ) { synchronized ( MogoSkinManager.class ) { @@ -30,6 +37,7 @@ class MogoSkinManager { return sInstance; } + @Keep public synchronized void release() { sInstance = null; } @@ -39,6 +47,7 @@ class MogoSkinManager { return sInstance; } + @Keep public IMogoSkinSupportInstaller getInstaller() { return mInstaller; }