1
1
# ModuleApi
2
2
3
3
[ ![ license] ( http://img.shields.io/badge/license-Apache2.0-brightgreen.svg?style=flat )] ( https://github.com/AlbieLiang/ModuleApi/blob/master/LICENSE )
4
- [ ![ Release Version] ( https://img.shields.io/badge/release-0.1.0 -red.svg )] ( https://github.com/AlbieLiang/ModuelApi/releases )
5
- [ ![ wiki] ( https://img.shields.io/badge/wiki-0.1.0 -red.svg )] ( https://github.com/AlbieLiang/ModuleApi/wiki )
4
+ [ ![ Release Version] ( https://img.shields.io/badge/release-0.1.5 -red.svg )] ( https://github.com/AlbieLiang/ModuelApi/releases )
5
+ [ ![ wiki] ( https://img.shields.io/badge/wiki-0.1.5 -red.svg )] ( https://github.com/AlbieLiang/ModuleApi/wiki )
6
6
[ ![ PRs Welcome] ( https://img.shields.io/badge/PRs-welcome-brightgreen.svg )] ( https://github.com/AlbieLiang/ModuleApi/pulls )
7
7
8
8
A across module Calling component for Android development.
@@ -14,45 +14,34 @@ ModuleApi是一个用于解决Android模块化后,跨模块调用的组件。M
14
14
15
15
在工程的build.gradle中添加依赖
16
16
17
- ``` gradle
17
+ ``` groovy
18
18
buildscript {
19
19
repositories {
20
20
jcenter()
21
21
}
22
22
dependencies {
23
- // 添加对ArbitraryGen的依赖
24
- classpath 'cc.suitalk.tools:arbitrarygen-plugin:2.1.1'
25
23
// 添加对ModuleApi代码生成插件的依赖
26
- classpath 'cc.suitalk.tools:module-api-ag-extension:0.1.0'
27
- ...
24
+ classpath 'cc.suitalk.tools:module-api-ag-extension:0.1.5'
28
25
}
29
26
}
30
27
```
31
28
32
29
在使用ModuleApi的module的build.gradle中添加依赖和配置
33
30
34
- ``` gralde
35
- apply plugin: 'module-api-ag-extension'
36
- apply plugin: 'arbitrarygen'
31
+ ``` groovy
32
+ apply plugin: 'module-api'
37
33
38
34
dependencies {
39
- compile 'cc.suitalk.android:module-api:0.1.0'
40
- ...
35
+ compile 'cc.suitalk.android:module-api:0.1.5'
41
36
}
42
37
43
- arbitraryGen {
44
- templateDir "${project.rootDir.getAbsolutePath()}/ag-template"
45
- srcDir "${project.projectDir.absolutePath}/ag-datasrc"
46
- destDir "$buildDir/generated/source/ag-gen"
47
-
48
- ext {
49
- moduleApi {
50
- // 配置扫描api目录
51
- srcDir "${project.projectDir.absolutePath}/src/main/java"
52
- // 配置生成api的目标目录
53
- destDir "${project.rootProject.projectDir.absolutePath}/api/build/generated/source/ag-gen"
54
- }
55
- }
38
+ moduleApi {
39
+ // 配置扫描api目录
40
+ srcDir "${project.projectDir.absolutePath}/src/main/api"
41
+ // 配置生成api的目标目录
42
+ destDir "${project.rootProject.projectDir.absolutePath}/api/src/main/api"
43
+
44
+ makeApiRules "${project.projectDir.absolutePath}/src/main/api/*.java"
56
45
}
57
46
```
58
47
## 定义api
@@ -117,6 +106,15 @@ ModuleApi.set(ModuleBModelApi.class, new ModuleBModel());
117
106
``` java
118
107
ModuleApi . get(ModuleBModelApi . class). showToast(ModuleBModelApi . STYLE_RED , " Test from ModuleFirst." );
119
108
```
109
+ ## 代码混淆
110
+
111
+ 如果你使用到自动装配功能,则需要添加proguard规则
112
+ ``` proguard
113
+
114
+ # Keep ModuleApi Autowire class
115
+ -keep,allowobfuscation @interface cc.suitalk.moduleapi.extension.annotation.Autowire
116
+ -keep @cc.suitalk.moduleapi.extension.annotation.Autowire class *
117
+ ```
120
118
121
119
## License
122
120
0 commit comments