Commit e199ab49 by wangtao

feat:moduel可以独立运行

parent 4c8f2389
......@@ -9,13 +9,13 @@
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
<option value="$PROJECT_DIR$/lib_app_common" />
<option value="$PROJECT_DIR$/lib_app_credit" />
<option value="$PROJECT_DIR$/lib_app_home" />
<option value="$PROJECT_DIR$/lib_app_login" />
<option value="$PROJECT_DIR$/lib_app_mine" />
<option value="$PROJECT_DIR$/lib_app_passport" />
<option value="$PROJECT_DIR$/lib_app_plan_trip" />
<option value="$PROJECT_DIR$/app_common" />
<option value="$PROJECT_DIR$/app_credit" />
<option value="$PROJECT_DIR$/app_home" />
<option value="$PROJECT_DIR$/app_login" />
<option value="$PROJECT_DIR$/app_mine" />
<option value="$PROJECT_DIR$/app_passport" />
<option value="$PROJECT_DIR$/app_plan_trip" />
<option value="$PROJECT_DIR$/lib_common_util" />
<option value="$PROJECT_DIR$/lib_core" />
<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 {
compileSdkVersion build_config.compile_sdk
buildToolsVersion build_config.build_tool
defaultConfig {
applicationId app_id
if (build_module == build_module_app) {
applicationId app_id
}
minSdkVersion build_config.min_sdk
targetSdkVersion build_config.target_sdk
versionCode build_config.version_code
......@@ -12,15 +21,6 @@ android {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
......@@ -48,18 +48,28 @@ android {
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.sign
}
release {
minifyEnabled false
zipAlignEnabled true
debuggable false
minifyEnabled true
shrinkResources true
jniDebuggable false
minifyEnabled false
shrinkResources false
renderscriptDebuggable false
signingConfig signingConfigs.sign
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
zipAlignEnabled true
debuggable true
jniDebuggable true
minifyEnabled false
shrinkResources false
renderscriptDebuggable true
signingConfig signingConfigs.sign
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
......@@ -69,11 +79,30 @@ android {
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(":lib_app_common")
api project(':app_common')
if (build_module == build_module_app) {
api project(':app_credit')
}
}
......@@ -4,10 +4,17 @@
package="com.module.hikcreate">
<application
android:name="com.main.module.base.CommonApplication"
tools:ignore="GoogleAppIndexingWarning">
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.main.module.ui.TestDemoActivity"
<activity android:name="com.main.module.ui.AppDemoActivity"
android:launchMode="singleTask">
<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 @@
android:layout_width="match_parent"
android:padding="20dp"
android:orientation="vertical"
android:background="@android:color/white"
android:layout_height="match_parent">
......@@ -10,7 +11,7 @@
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="去登录模块"
android:text="去信用模块"
android:id="@+id/mBtnLogin"
/>
......
<resources>
<string name="app_name">lib_core</string>
<string name="app_name">组件化测试</string>
</resources>
......@@ -16,6 +16,12 @@ android {
buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
......@@ -31,11 +37,11 @@ dependencies {
androidTestImplementation deps.runner
androidTestImplementation deps.espresso
implementation deps.kotlin
// api project(":lib_ui")
// api project(":lib_core")
// api project(":lib_network")
// api project(":lib_ui")
// api project(":lib_common_util")
api project(":lib_ui")
api project(":lib_core")
api project(":lib_network")
api project(":lib_ui")
api project(":lib_common_util")
api deps.annotations
api deps.constraint
......
<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;
import android.app.Application;
package com.basic.router
/**
* author : taowang
* date :2019/9/11
* 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 com.module.hikcreate.R
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity
import com.alibaba.android.arouter.facade.annotation.Route
import com.app.credit.R
import com.basic.base.BasicActivity
import com.basic.router.RouterConstants
/**
* author : taowang
* date :2019/9/10
* date :2019/9/11
* description:
**/
class TestDemoActivity : RxAppCompatActivity(){
@Route(path = RouterConstants.Credit.CREDIT_TEST)
open class CreditDemoActivity : BasicActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
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>
<string name="app_name">lib_core</string>
<string name="app_name">信用模块</string>
</resources>
<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"
package="flutter.com.lib_ui" />
package="com.app.login" />
<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"
package="flutter.com.lib_ui" />
package="com.app.passport" />
<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//通行证组件
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"
//当前运行的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 {
buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
......@@ -23,8 +28,4 @@ android {
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" />
package="com.app.common.util" />
......@@ -13,6 +13,11 @@ android {
buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
......@@ -23,8 +28,4 @@ android {
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" />
package="com.app.core" />
<resources>
<string name="app_name">lib_core</string>
</resources>
......@@ -13,6 +13,11 @@ android {
buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
......@@ -23,8 +28,4 @@ android {
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" />
package="com.app.network" />
<resources>
<string name="app_name">lib_core</string>
</resources>
......@@ -13,6 +13,13 @@ android {
buildTypes {
debugg {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
......@@ -23,8 +30,4 @@ android {
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" />
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
build_config.classpath_kotlin_extension = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.41"
ext.build_config = build_config
//应用包版本
//引用的包版本
def versions = [:]
//google
versions.support = "27.1.1"
versions.multidex = "1.0.2"
......@@ -158,7 +159,5 @@ deps.auto_parcel_processor = "com.github.frankiesardo:auto-parcel-p
deps.butterknife_compiler = "com.jakewharton:butterknife-compiler:$versions.butterknife"
deps.glide_compiler = "com.github.bumptech.glide:compiler:$versions.glide"
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