Commit e199ab49 by wangtao

feat:moduel可以独立运行

parent 4c8f2389
...@@ -9,13 +9,13 @@ ...@@ -9,13 +9,13 @@
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/lib_app_common" /> <option value="$PROJECT_DIR$/app_common" />
<option value="$PROJECT_DIR$/lib_app_credit" /> <option value="$PROJECT_DIR$/app_credit" />
<option value="$PROJECT_DIR$/lib_app_home" /> <option value="$PROJECT_DIR$/app_home" />
<option value="$PROJECT_DIR$/lib_app_login" /> <option value="$PROJECT_DIR$/app_login" />
<option value="$PROJECT_DIR$/lib_app_mine" /> <option value="$PROJECT_DIR$/app_mine" />
<option value="$PROJECT_DIR$/lib_app_passport" /> <option value="$PROJECT_DIR$/app_passport" />
<option value="$PROJECT_DIR$/lib_app_plan_trip" /> <option value="$PROJECT_DIR$/app_plan_trip" />
<option value="$PROJECT_DIR$/lib_common_util" /> <option value="$PROJECT_DIR$/lib_common_util" />
<option value="$PROJECT_DIR$/lib_core" /> <option value="$PROJECT_DIR$/lib_core" />
<option value="$PROJECT_DIR$/lib_network" /> <option value="$PROJECT_DIR$/lib_network" />
......
apply plugin: 'com.android.application'
if (build_module == build_module_app) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android { android {
compileSdkVersion build_config.compile_sdk compileSdkVersion build_config.compile_sdk
buildToolsVersion build_config.build_tool buildToolsVersion build_config.build_tool
defaultConfig { defaultConfig {
applicationId app_id if (build_module == build_module_app) {
applicationId app_id
}
minSdkVersion build_config.min_sdk minSdkVersion build_config.min_sdk
targetSdkVersion build_config.target_sdk targetSdkVersion build_config.target_sdk
versionCode build_config.version_code versionCode build_config.version_code
...@@ -12,15 +21,6 @@ android { ...@@ -12,15 +21,6 @@ android {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
} }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
sourceSets { sourceSets {
main { main {
jniLibs.srcDirs = ['libs'] jniLibs.srcDirs = ['libs']
...@@ -48,18 +48,28 @@ android { ...@@ -48,18 +48,28 @@ android {
buildTypes { buildTypes {
debug {
debuggable true
signingConfig signingConfigs.sign
}
release { release {
minifyEnabled false
zipAlignEnabled true
debuggable false debuggable false
minifyEnabled true jniDebuggable false
shrinkResources true minifyEnabled false
shrinkResources false
renderscriptDebuggable false
signingConfig signingConfigs.sign
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
zipAlignEnabled true zipAlignEnabled true
debuggable true
jniDebuggable true
minifyEnabled false
shrinkResources false
renderscriptDebuggable true
signingConfig signingConfigs.sign signingConfig signingConfigs.sign
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} }
} }
...@@ -69,11 +79,30 @@ android { ...@@ -69,11 +79,30 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
} }
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
jumboMode = true
}
dataBinding {
enabled = true
}
lintOptions {
abortOnError false
}
} }
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
api project(":lib_app_common") api project(':app_common')
if (build_module == build_module_app) {
api project(':app_credit')
}
} }
...@@ -4,10 +4,17 @@ ...@@ -4,10 +4,17 @@
package="com.module.hikcreate"> package="com.module.hikcreate">
<application <application
android:name="com.main.module.base.CommonApplication" android:name="com.basic.base.BasicApplication"
tools:ignore="GoogleAppIndexingWarning"> android:roundIcon="@mipmap/ic_launcher"
android:allowBackup="true"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode"
tools:replace="android:icon,android:roundIcon,android:theme,android:name,android:label,android:allowBackup">
<activity android:name="com.main.module.ui.TestDemoActivity"
<activity android:name="com.main.module.ui.AppDemoActivity"
android:launchMode="singleTask"> android:launchMode="singleTask">
<intent-filter> <intent-filter>
......
package com.main.module.ui
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.Toast
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.basic.base.BasicActivity
import com.basic.router.RouterConstants
import com.module.hikcreate.R
/**
* author : taowang
* date :2019/9/11
* description:
**/
@Route(path = RouterConstants.AppMain.MAIN_TEST)
open class AppDemoActivity : BasicActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.app_test)
findViewById<View>(R.id.mBtnLogin).setOnClickListener {
Toast.makeText(applicationContext,"test",Toast.LENGTH_LONG).show()
ARouter.getInstance().build(RouterConstants.Credit.CREDIT_TEST).navigation()
}
}
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:padding="20dp" android:padding="20dp"
android:orientation="vertical" android:orientation="vertical"
android:background="@android:color/white"
android:layout_height="match_parent"> android:layout_height="match_parent">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<Button <Button
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="去登录模块" android:text="去信用模块"
android:id="@+id/mBtnLogin" android:id="@+id/mBtnLogin"
/> />
......
<resources> <resources>
<string name="app_name">lib_core</string> <string name="app_name">组件化测试</string>
</resources> </resources>
...@@ -16,6 +16,12 @@ android { ...@@ -16,6 +16,12 @@ android {
buildTypes { buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
...@@ -31,11 +37,11 @@ dependencies { ...@@ -31,11 +37,11 @@ dependencies {
androidTestImplementation deps.runner androidTestImplementation deps.runner
androidTestImplementation deps.espresso androidTestImplementation deps.espresso
implementation deps.kotlin implementation deps.kotlin
// api project(":lib_ui") api project(":lib_ui")
// api project(":lib_core") api project(":lib_core")
// api project(":lib_network") api project(":lib_network")
// api project(":lib_ui") api project(":lib_ui")
// api project(":lib_common_util") api project(":lib_common_util")
api deps.annotations api deps.annotations
api deps.constraint api deps.constraint
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.common" />
package com.basic.base
import android.app.Application
import com.alibaba.android.arouter.launcher.ARouter
/**
*
* author : taowang
* date :2019/9/11
* description:初始化类,用于app所有的初始化操作
*
**/
class AppContext {
companion object {
val instance: AppContext by lazy { AppContext() }
}
fun init(application: Application) {
//初始化操作
ARouter.init(application)
}
}
\ No newline at end of file
package com.basic.base
import android.app.Activity
import android.os.Bundle
import com.alibaba.android.arouter.launcher.ARouter
/**
* author : taowang
* date :2019/9/11
* description:activity 基类
**/
open class BasicActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
ARouter.getInstance().inject(this)
}
}
\ No newline at end of file
package com.basic.base
import android.app.Application
/**
* author : taowang
* date :2019/9/11
* description: 基础的application类
**/
class BasicApplication :Application(){
override fun onCreate() {
super.onCreate()
AppContext.instance.init(this)
}
}
\ No newline at end of file
package com.main.module.base; package com.basic.router
import android.app.Application;
/** /**
* author : taowang * author : taowang
* date :2019/9/11 * date :2019/9/11
* description: * description:
**/ **/
public class CommonApplication extends Application {
} class RouterConstants{
object AppMain {
const val MAIN_TEST = "/main/test"
}
object Credit {
const val CREDIT_TEST = "/credit/test"
}
}
\ No newline at end of file
if (build_module == build_module_credit) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion build_config.compile_sdk
buildToolsVersion build_config.build_tool
defaultConfig {
if (build_module == build_module_credit) {
applicationId "com.app.credit"
}
minSdkVersion build_config.min_sdk
targetSdkVersion build_config.target_sdk
versionCode build_config.version_code
versionName build_config.version_name
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
if (build_module == build_module_credit) {
manifest.srcFile 'src/main/module/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
java {
exclude 'com/duiafudao/app_login/application/**'
}
}
}
}
compileOptions {
encoding = 'utf-8'
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
jumboMode = true
}
dataBinding {
enabled = true
}
lintOptions {
abortOnError false
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
api project(':app_common')
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.app.credit">
<application
android:name="com.basic.base.BasicApplication"
android:roundIcon="@mipmap/ic_launcher"
android:allowBackup="true"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode"
tools:replace="android:icon,android:roundIcon,android:theme,android:name,android:label,android:allowBackup">
<activity android:name="com.ui.CreditDemoActivity"/>
</application>
</manifest>
\ No newline at end of file
package com.main.module.ui package com.ui
import android.os.Bundle import android.os.Bundle
import com.module.hikcreate.R import com.alibaba.android.arouter.facade.annotation.Route
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity import com.app.credit.R
import com.basic.base.BasicActivity
import com.basic.router.RouterConstants
/** /**
* author : taowang * author : taowang
* date :2019/9/10 * date :2019/9/11
* description: * description:
**/ **/
class TestDemoActivity : RxAppCompatActivity(){ @Route(path = RouterConstants.Credit.CREDIT_TEST)
open class CreditDemoActivity : BasicActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.test) setContentView(R.layout.credit_test)
} }
} }
\ No newline at end of file
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.app.credit">
<application
android:name="com.basic.base.BasicApplication"
android:roundIcon="@mipmap/ic_launcher"
android:allowBackup="true"
android:theme="@style/Theme.AppCompat.NoActionBar"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
tools:ignore="GoogleAppIndexingWarning,HardcodedDebugMode"
tools:replace="android:icon,android:roundIcon,android:theme,android:name,android:label,android:allowBackup">
<activity android:name="com.ui.CreditDemoActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="20dp"
android:orientation="vertical"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="我是信用模块"
android:gravity="center"
android:layout_gravity="center"
android:id="@+id/mBtnLogin"
/>
</LinearLayout>
<resources> <resources>
<string name="app_name">lib_core</string> <string name="app_name">信用模块</string>
</resources> </resources>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.home" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.login" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.mine" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.passport" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.plantrip" />
...@@ -9,7 +9,17 @@ def build_module_passport = 0x06//通行证组件 ...@@ -9,7 +9,17 @@ def build_module_passport = 0x06//通行证组件
def build_module_plan_trip = 0x07//预约出行组件 def build_module_plan_trip = 0x07//预约出行组件
ext.build_module_app = build_module_app
ext.build_module_welcome = build_module_welcome
ext.build_module_login = build_module_login
ext.build_module_mine = build_module_mine
ext.build_module_home = build_module_home
ext.build_module_credit = build_module_credit
ext.build_module_passport = build_module_passport
ext.build_module_plan_trip = build_module_plan_trip
ext.app_id = "com.module.hikcreate" ext.app_id = "com.module.hikcreate"
//当前运行的model //当前运行的model
ext.build_module_app = build_module_app ext.build_module = build_module_app
apply plugin: 'com.android.library'
android {
compileSdkVersion build_config.compile_sdk
buildToolsVersion build_config.build_tool
defaultConfig {
minSdkVersion build_config.min_sdk
targetSdkVersion build_config.target_sdk
versionCode build_config.version_code
versionName build_config.version_name
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.app_compat
testImplementation deps.junit
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" />
...@@ -13,6 +13,11 @@ android { ...@@ -13,6 +13,11 @@ android {
buildTypes { buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
...@@ -23,8 +28,4 @@ android { ...@@ -23,8 +28,4 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.app_compat
testImplementation deps.junit
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
} }
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.common.util" />
...@@ -13,6 +13,11 @@ android { ...@@ -13,6 +13,11 @@ android {
buildTypes { buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
...@@ -23,8 +28,4 @@ android { ...@@ -23,8 +28,4 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.app_compat
testImplementation deps.junit
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
} }
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.core" />
<resources>
<string name="app_name">lib_core</string>
</resources>
...@@ -13,6 +13,11 @@ android { ...@@ -13,6 +13,11 @@ android {
buildTypes { buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
...@@ -23,8 +28,4 @@ android { ...@@ -23,8 +28,4 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.app_compat
testImplementation deps.junit
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
} }
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.network" />
<resources>
<string name="app_name">lib_core</string>
</resources>
...@@ -13,6 +13,13 @@ android { ...@@ -13,6 +13,13 @@ android {
buildTypes { buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
...@@ -23,8 +30,4 @@ android { ...@@ -23,8 +30,4 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation deps.app_compat
testImplementation deps.junit
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
} }
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="flutter.com.lib_ui" /> package="com.app.ui" />
<resources>
<string name="app_name">lib_ui</string>
</resources>
include ':app',":lib_common_util",":lib_network",':lib_app_mine', ':lib_ui', ':lib_core', ':lib_app_common', ':lib_app_passport', ':lib_app_login',":lib_app_plan_trip",":lib_app_home",":lib_app_credit" include ':app',":lib_common_util",":lib_network", ':app_mine', ':lib_ui', ':lib_core', ':app_common', ':app_passport', ':app_login', ':app_plan_trip', ':app_home', ':app_credit'
...@@ -13,8 +13,9 @@ build_config.classpath_kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.4 ...@@ -13,8 +13,9 @@ build_config.classpath_kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.4
build_config.classpath_kotlin_extension = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41" build_config.classpath_kotlin_extension = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41"
ext.build_config = build_config ext.build_config = build_config
//应用包版本 //引用的包版本
def versions = [:] def versions = [:]
//google //google
versions.support = "27.1.1" versions.support = "27.1.1"
versions.multidex = "1.0.2" versions.multidex = "1.0.2"
...@@ -158,7 +159,5 @@ deps.auto_parcel_processor = "com.github.frankiesardo:auto-parcel-p ...@@ -158,7 +159,5 @@ deps.auto_parcel_processor = "com.github.frankiesardo:auto-parcel-p
deps.butterknife_compiler = "com.jakewharton:butterknife-compiler:$versions.butterknife" deps.butterknife_compiler = "com.jakewharton:butterknife-compiler:$versions.butterknife"
deps.glide_compiler = "com.github.bumptech.glide:compiler:$versions.glide" deps.glide_compiler = "com.github.bumptech.glide:compiler:$versions.glide"
ext.deps = deps ext.deps = deps
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment