diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..21e99e2dc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,9 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index 9ec67a2001..aad3e71d5e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -175,7 +175,7 @@ dependencies { implementation rootProject.ext.dependencies.crashSdk implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.arouter - implementation rootProject.ext.dependencies.androidxmultidex + implementation rootProject.ext.dependencies.boostmultidex debugImplementation rootProject.ext.dependencies.leakcanary testImplementation rootProject.ext.dependencies.leakcanary releaseImplementation rootProject.ext.dependencies.leakcanarynoop @@ -281,3 +281,5 @@ def getGitCommit() { assert !gitCommit.isEmpty() gitCommit } + +apply plugin: 'arouterhook' \ No newline at end of file diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index d50f474f69..ddd2d059ba 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -4,10 +4,9 @@ import android.content.Context; import android.content.Intent; import android.util.Log; -import androidx.multidex.MultiDex; - import com.alibaba.android.arouter.launcher.ARouter; import com.auto.zhidao.logsdk.CrashSystem; +import com.bytedance.boost_multidex.BoostMultiDex; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.debug.DebugConfig; import com.mogo.module.adcard.AdCardConstants; @@ -38,61 +37,61 @@ public class MogoApplication extends AbsMogoApplication { @Override public void onCreate() { - DebugConfig.setNetMode( BuildConfig.NET_ENV ); - DebugConfig.setDebug( BuildConfig.DEBUG ); - DebugConfig.setAIType( BuildConfig.AIType ); - DebugConfig.setLaunchLocationService( BuildConfig.LAUNCH_LOCATION_SERVICE ); - DebugConfig.setUseCustomNavi( BuildConfig.USE_CUSTOM_NAVI ); - DebugConfig.setLauncher( BuildConfig.IS_LAUNCHER ); + DebugConfig.setNetMode(BuildConfig.NET_ENV); + DebugConfig.setDebug(BuildConfig.DEBUG); + DebugConfig.setAIType(BuildConfig.AIType); + DebugConfig.setLaunchLocationService(BuildConfig.LAUNCH_LOCATION_SERVICE); + DebugConfig.setUseCustomNavi(BuildConfig.USE_CUSTOM_NAVI); + DebugConfig.setLauncher(BuildConfig.IS_LAUNCHER); super.onCreate(); // Crash 日志收集 final long start = System.currentTimeMillis(); - CrashSystem crashSystem = CrashSystem.getInstance( this ); + CrashSystem crashSystem = CrashSystem.getInstance(this); crashSystem.init(); //设置debug模式,日志不上传 - crashSystem.setDebug( BuildConfig.DEBUG ); - Logger.init( BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF ); + crashSystem.setDebug(BuildConfig.DEBUG); + Logger.init(BuildConfig.DEBUG ? LogLevel.DEBUG : LogLevel.OFF); // MogoModulePaths.addModule(new MogoModule(PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME)); - MogoModulePaths.addModule( new MogoModule( AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) ); + MogoModulePaths.addModule(new MogoModule(AuthorizeConstant.PATH_AGREEMENT_FRAGMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME)); //运营位卡片,需要默认显示,放在第一个加载 - MogoModulePaths.addModule( new MogoModule( AdCardConstants.TAG, AdCardConstants.MODULE_NAME ) ); - if ( DebugConfig.isLauncher() ) { - MogoModulePaths.addModule( new MogoModule( MediaConstants.TAG, MediaConstants.MODULE_TYPE ) ); + MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); + if (DebugConfig.isLauncher()) { + MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); } - MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) ); - MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) ); - MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) ); + MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); + MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); + MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SHARE, "ShareControl")); - MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); - MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI ) ); + MogoModulePaths.addBaseModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY)); + MogoModulePaths.addBaseModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); // 暂时去掉推送 // MogoModulePaths.addModule(new MogoModule(PushUIConstants.TAG, PushUIConstants.TAG)); if (!DebugConfig.isLauncher()) { PersistentManager.getInstance().initManager(this); - Intent intent = new Intent( this, MogoMainService.class ); - startService( intent ); + Intent intent = new Intent(this, MogoMainService.class); + startService(intent); } - Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" ); + Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); } @Override protected void init() { super.init(); - IMogoSocketManager mMogoSocketManager = ARouter.getInstance().navigation( IMogoSocketManager.class ); - if ( mMogoSocketManager != null ) { - mMogoSocketManager.init( getApplicationContext(), "com.mogo.launcher" ); + IMogoSocketManager mMogoSocketManager = ARouter.getInstance().navigation(IMogoSocketManager.class); + if (mMogoSocketManager != null) { + mMogoSocketManager.init(getApplicationContext(), "com.mogo.launcher"); } else { - Logger.e( TAG, "init socket server error." ); + Logger.e(TAG, "init socket server error."); } } @Override - protected void attachBaseContext( Context base ) { - super.attachBaseContext( base ); - MultiDex.install( base ); + protected void attachBaseContext(Context base) { + super.attachBaseContext(base); + BoostMultiDex.install(base); } } diff --git a/build.gradle b/build.gradle index 32a0f5815c..1ff312c0fb 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,7 @@ buildscript { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.alibaba:arouter-register:1.0.2" classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4' + classpath "com.mogo.module.pluginhook:module-pluginhook:${HOOKPLUGIN_VERSION}" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/config.gradle b/config.gradle index 359e636a21..d79002527d 100644 --- a/config.gradle +++ b/config.gradle @@ -17,7 +17,7 @@ ext { androidxappcompat : "androidx.appcompat:appcompat:1.0.2", androidxccorektx : "androidx.core:core-ktx:1.2.0", androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:1.1.3", - androidxmultidex : "androidx.multidex:multidex:2.0.1", + boostmultidex : "com.mogo.module.boostmultidex:module-boostmultidex:${BOOST_MULTIDEX_VERSION}", androidxviewpager2 : "androidx.viewpager2:viewpager2:1.0.0", androidxrecyclerview : "androidx.recyclerview:recyclerview:1.1.0", androidxcardview : "androidx.cardview:cardview:1.0.0", diff --git a/gradle.properties b/gradle.properties index 9661d65a5b..c540c1b503 100644 --- a/gradle.properties +++ b/gradle.properties @@ -79,6 +79,11 @@ MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 TANLULIB_VERSION=1.2.1.2 +# Boost分包 +BOOST_MULTIDEX_VERSION=1.0.0 +# hook ARouter分包实现 +HOOKPLUGIN_VERSION=1.0.0 + ## 产品库必备配置 applicationId=com.mogo.launcer applicationName=IntelligentPilot