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

@@ -0,0 +1,95 @@
//****************************************
//************ app 壳的配置文件 ************
//****************************************
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.alibaba.arouter'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion ProjectBuildConfig.compileSdkVersion
buildToolsVersion ProjectBuildConfig.buildToolsVersion
defaultConfig {
applicationId ProjectBuildConfig.applicationId
minSdkVersion ProjectBuildConfig.minSdkVersion
targetSdkVersion ProjectBuildConfig.targetSdkVersion
versionCode ProjectBuildConfig.versionCode
versionName ProjectBuildConfig.versionName
testInstrumentationRunner DependencyConfig.AndroidX.AndroidJUnitRunner
multiDexKeepProguard file("multidexKeep.pro")
ndk {
// 设置支持的SO库架构
//abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
}
// 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}" +
"_${ProjectBuildConfig.versionCode}" +
"(${ProjectBuildConfig.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}" +
"_${ProjectBuildConfig.versionCode}" +
"(${ProjectBuildConfig.versionName}).apk"
}
}
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
if (!ProjectBuildConfig.isAppMode) {
// 有业务组件时 把这个去掉 这里只是为了使用base里的依赖库
implementation project(path: ':lib_common')
} else {
implementation project(path: ':lib_common')
}
kapt DependencyConfig.GitHub.AutoServiceAnnotations
}

View File

@@ -0,0 +1,44 @@
//****************************************
//********* lib 模块的公共脚本配置 **********
//****************************************
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion ProjectBuildConfig.compileSdkVersion
buildToolsVersion ProjectBuildConfig.buildToolsVersion
defaultConfig {
minSdkVersion ProjectBuildConfig.minSdkVersion
targetSdkVersion ProjectBuildConfig.targetSdkVersion
versionCode ProjectBuildConfig.versionCode
versionName ProjectBuildConfig.versionName
consumerProguardFiles "consumer-rules.pro"
ndk {
// 设置支持的SO库架构
//abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
}
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}

View File

@@ -0,0 +1,83 @@
//****************************************
//******** module模块的公共脚本配置 *********
//****************************************
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion ProjectBuildConfig.compileSdkVersion
buildToolsVersion ProjectBuildConfig.buildToolsVersion
defaultConfig {
minSdkVersion ProjectBuildConfig.minSdkVersion
targetSdkVersion ProjectBuildConfig.targetSdkVersion
versionCode ProjectBuildConfig.versionCode
versionName ProjectBuildConfig.versionName
testInstrumentationRunner DependencyConfig.AndroidX.AndroidJUnitRunner
ndk {
// 设置支持的SO库架构
//abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
buildFeatures {
viewBinding = true
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java {
//排除debug文件夹下的所有文件
exclude 'debug/**'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.name)
arg("eventBusIndex", "${ProjectBuildConfig.applicationId}.eventbus.index.${project.name}EventIndex")
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api project(path: ':lib_common')
testImplementation DependencyConfig.Android.Junit
androidTestImplementation DependencyConfig.AndroidX.TestExtJunit
androidTestImplementation DependencyConfig.AndroidX.TestEspresso
kapt DependencyConfig.GitHub.GlideCompiler
kapt DependencyConfig.GitHub.ARouteCompiler
kapt DependencyConfig.GitHub.EventBusAPT
kapt DependencyConfig.GitHub.AutoServiceAnnotations
}

View File

@@ -0,0 +1,59 @@
//****************************************
//********** lib_base 的配置文件 ***********
//****************************************
apply from: '../buildGradleScript/base/base_lib.gradle'
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
android {
buildFeatures {
viewBinding = true
}
resourcePrefix "base_"
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
api DependencyConfig.AndroidX.CoreKtx
api DependencyConfig.AndroidX.AppCompat
api DependencyConfig.AndroidX.ConstraintLayout
api DependencyConfig.AndroidX.ActivityKtx
api DependencyConfig.AndroidX.FragmentKtx
api DependencyConfig.AndroidX.MultiDex
api DependencyConfig.Android.Material
api DependencyConfig.Kotlin.Kotlin
api DependencyConfig.Kotlin.CoroutinesCore
api DependencyConfig.Kotlin.CoroutinesAndroid
api DependencyConfig.JetPack.LifecycleRuntimeKtx
api DependencyConfig.JetPack.LifecycleViewModel
api DependencyConfig.JetPack.LifecycleViewModelKtx
api DependencyConfig.GitHub.Gson
api DependencyConfig.GitHub.MMKV
api DependencyConfig.GitHub.AutoSize
api DependencyConfig.GitHub.Glide
api DependencyConfig.GitHub.ARoute
api DependencyConfig.GitHub.RecyclerViewAdapter
api DependencyConfig.GitHub.StatusBar
api DependencyConfig.GitHub.EventBus
api DependencyConfig.GitHub.PermissionX
api DependencyConfig.GitHub.AutoService
api DependencyConfig.SDK.TencentBugly
api DependencyConfig.SDK.TencentBuglyNative
api DependencyConfig.SDK.TencentTBSX5
kapt DependencyConfig.GitHub.GlideCompiler
kapt DependencyConfig.GitHub.ARouteCompiler
kapt DependencyConfig.GitHub.EventBusAPT
kapt DependencyConfig.GitHub.AutoServiceAnnotations
debugApi DependencyConfig.GitHub.LeakCanary
}

View File

@@ -0,0 +1,34 @@
//****************************************
//********* lib_common 的配置文件 **********
//****************************************
apply from: '../buildGradleScript/base/base_lib.gradle'
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
android {
defaultConfig {
// 相关自定义配置
resValue "string", "VERSION_STATUS", ProjectBuildConfig.versionStatus
resValue "string", "BUGLY_APP_ID", SDKKeyConfig.BUGLY_APP_ID
}
buildFeatures {
viewBinding = true
}
resourcePrefix "common_"
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
api project(path: ':lib_base')
api project(path: ':lib_net')
kapt DependencyConfig.GitHub.GlideCompiler
kapt DependencyConfig.GitHub.ARouteCompiler
kapt DependencyConfig.GitHub.EventBusAPT
kapt DependencyConfig.GitHub.AutoServiceAnnotations
}

View File

@@ -0,0 +1,24 @@
//****************************************
//*********** lib_net 的配置文件 ***********
//****************************************
apply from: '../buildGradleScript/base/base_lib.gradle'
import com.quyunshuo.androidbaseframemvvm.buildsrc.*
android {
resourcePrefix "net_"
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation project(path: ':lib_base')
api DependencyConfig.GitHub.OkHttp
api DependencyConfig.GitHub.OkHttpInterceptorLogging
api DependencyConfig.GitHub.Retrofit
api DependencyConfig.GitHub.RetrofitConverterGson
kapt DependencyConfig.GitHub.AutoServiceAnnotations
}

View File

@@ -0,0 +1,9 @@
//****************************************
//******** module_home 的配置文件 *********
//****************************************
apply from: '../buildGradleScript/base/base_module.gradle'
android {
resourcePrefix "home_"
}