Android 应用多进程开发与模块化开发中间件
支持 Android 4.1+(API 16+)
/build.gradle
buildscript {
dependencies {
classpath 'com.zcool.inkstone:inkstone-gradle-plugin:0.1.207'
}
}
/app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.zcool.inkstone'
/app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.zcool.inkstone'
dependencies {
implementation "com.zcool.inkstone:inkstone:0.1.207"
}
/appmodule/build.gradle
apply plugin: 'com.android.library'
dependencies {
implementation "com.zcool.inkstone:inkstone:0.1.207"
}
当在 application module 中增加了自定义的 application delegate 或者 services provider 时:
注意:下面配置示例中的 com.zcool.sample 是指该 application module 下 AndroidManifest.xml 中 package 的值, 与 applicationId 无关
/app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'com.zcool.inkstone'
android {
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = ['INKSTONE_MODULE_MANIFEST_PACKAGE': "com.zcool.sample"]
}
}
}
}
dependencies {
implementation "com.zcool.inkstone:inkstone:0.1.207"
annotationProcessor "com.zcool.inkstone:inkstone-processor:0.1.207"
}
/app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zcool.sample">
<application>
<activity
android:name="com.zcool.inkstone.app.InkstoneConfigActivity">
<intent-filter>
<action android:name="INKSTONE_MODULE_MANIFEST_PACKAGE:com.zcool.sample" />
</intent-filter>
</activity>
</application>
</manifest>
当在 library module 中增加了自定义的 application delegate 或者 services provider 时:
注意:下面配置示例中的 com.example.appmodule 是指该 library module 下 AndroidManifest.xml 中 package 的值
/appmodule/build.gradle
apply plugin: 'com.android.library'
android {
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = ['INKSTONE_MODULE_MANIFEST_PACKAGE': "com.example.appmodule"]
}
}
}
}
dependencies {
implementation "com.zcool.inkstone:inkstone:0.1.207"
annotationProcessor "com.zcool.inkstone:inkstone-processor:0.1.207"
}
/appmodule/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.appmodule">
<application>
<activity
android:name="com.zcool.inkstone.app.InkstoneConfigActivity">
<intent-filter>
<action android:name="INKSTONE_MODULE_MANIFEST_PACKAGE:com.example.appmodule" />
</intent-filter>
</activity>
</application>
</manifest>