Skip to content

Android 应用多进程开发与模块化开发中间件

Notifications You must be signed in to change notification settings

idonans/inkstone

Repository files navigation

inkstone

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>

About

Android 应用多进程开发与模块化开发中间件

Resources

Stars

Watchers

Forks

Packages

No packages published