refactor: 重构

This commit is contained in:
Quyunshuo
2021-04-24 18:12:23 +08:00
parent d75956a81d
commit 42c89b7872
85 changed files with 1031 additions and 639 deletions

View File

@ -1,80 +0,0 @@
import com.quyunshuo.androidbaseframemvvm.build.*
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'com.alibaba.arouter'
}
android {
compileSdkVersion ProjectBuildConfig.compileSdkVersion
buildToolsVersion ProjectBuildConfig.buildToolsVersion
defaultConfig {
applicationId ProjectBuildConfig.applicationId
minSdkVersion ProjectBuildConfig.minSdkVersion
targetSdkVersion ProjectBuildConfig.targetSdkVersion
versionCode ProjectBuildConfig.versionCode
versionName ProjectBuildConfig.versionName
testInstrumentationRunner AndroidX.AndroidJUnitRunner
multiDexKeepProguard file("multidexKeep.pro")
}
// signingConfigs {
// releaseConfig {
// storeFile file('')
// storePassword ""
// keyAlias ""
// keyPassword ""
// }
// }
buildTypes {
release {
// signingConfig signingConfigs.releaseConfig
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.all { output ->
if (outputFileName != null
&& outputFileName.endsWith('.apk')
&& 'release' == variant.buildType.name) {
outputFileName = "${ProjectBuildConfig.applicationId}_${defaultConfig.versionCode}(${defaultConfig.versionName}).apk"
}
}
}
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.all { output ->
if (outputFileName != null
&& outputFileName.endsWith('.apk')
&& 'debug' == variant.buildType.name) {
outputFileName = "${ProjectBuildConfig.applicationId}_${defaultConfig.versionCode}(${defaultConfig.versionName}).apk"
}
}
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
if (!ProjectBuildConfig.isAppMode) {
// 有业务组件时 把这个去掉 这里只是为了使用base里的依赖库
implementation project(path: ':Lib_Common')
} else {
implementation project(path: ':Lib_Common')
}
}

1
app/build.gradle.kts Normal file
View File

@ -0,0 +1 @@
apply("../buildGradleScript/app.gradle")

View File

@ -12,7 +12,6 @@
tools:ignore="ProtectedPermissions" />
<application
android:name=".AppApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
@ -29,6 +28,7 @@
<meta-data
android:name="design_height_in_dp"
android:value="640" />
</application>
</manifest>

View File

@ -1,22 +0,0 @@
package com.quyunshuo.androidbaseframemvvm
import com.quyunshuo.common.CommonApplication
import org.greenrobot.eventbus.EventBus
/**
* @Author: QuYunShuo
* @Time: 2020/8/27
* @Class: AppApplication
* @Remark: 壳App的Application 负责需要写在App包下的初始化逻辑
*/
class AppApplication : CommonApplication() {
override fun onCreate() {
// 开启EventBusAPT,优化反射效率
EventBus
.builder()
// .addIndex()
.installDefaultEventBus()
super.onCreate()
}
}

View File

@ -0,0 +1,54 @@
package com.quyunshuo.androidbaseframemvvm.app
import android.app.Application
import android.content.Context
import com.google.auto.service.AutoService
import com.quyunshuo.androidbaseframemvvm.base.app.ApplicationLifecycle
import com.quyunshuo.androidbaseframemvvm.base.app.InitDepend
import org.greenrobot.eventbus.EventBus
/**
* App壳
*
* @author Qu Yunshuo
* @since 4/23/21 6:08 PM
*/
@AutoService(ApplicationLifecycle::class)
class AppApplication : ApplicationLifecycle {
/**
* 同[Application.attachBaseContext]
* @param context Context
*/
override fun onAttachBaseContext(context: Context) {
// 开启EventBusAPT,优化反射效率 当组件作为App运行时需要将添加的Index注释掉 因为找不到对应的类了
EventBus
.builder()
// .addIndex(MainEventIndex())
.installDefaultEventBus()
}
/**
* 同[Application.onCreate]
* @param application Application
*/
override fun onCreate(application: Application) {}
/**
* 同[Application.onTerminate]
* @param application Application
*/
override fun onTerminate(application: Application) {}
/**
* 需要立即进行初始化的放在这里进行并行初始化
* 需要必须在主线程初始化的放在[InitDepend.mainThreadDepends],反之放在[InitDepend.workerThreadDepends]
* @return InitDepend 初始化方法集合
*/
override fun initByFrontDesk(): InitDepend = InitDepend(mutableListOf(), mutableListOf())
/**
* 不需要立即初始化的放在这里进行后台初始化
*/
override fun initByBackstage() {}
}