集成
添加依赖
使用 Android Studio 接入路由模块,需要先在根项目的 build.gradle 中添加 Portal Gradle 插件的依赖:
dependencies {
...
classpath com.tencent.tmf.android:portal-gradle-plugin:3.0.0.1
...
}
在最终打包 apk 的模块内应用 Gradle 插件:
apply plugin: 'com.tencent.tmf.android.portal'
在各个需要添加路由的子模块内加入路由sdk主体以及注解的依赖:
dependencies {
...
implementation com.tencent.tmf.android:base:+
implementation com.tencent.tmf.android:base-core:+
implementation com.tencent.tmf.android:portal-core:3.0.0.0
implementation com.tencent.tmf.android:portal-annotations:3.0.0.0
...
}
在各个子模块内添加 annotationProcessor,此处分为几种场景:
- 工程内使用了
kotlin
,且存在*.kt
类型的类使用了@Destination
注解时,必须使用kapt
声明依赖。 - 工程内使用了
kotlin
,但没有任何*.kt
类型的类使用了@Destination
注解时,可以使用annotationProcessor
或者kapt
中任意一个声明依赖。 - 工程内没有使用
kotlin
,直接使用annotationProcessor
即可。
使用 kapt 的示例:
dependencies {
...
kapt com.tencent.tmf.android:portal-processor:3.0.0.0
...
}
使用 annotationProcessor 的示例:
dependencies {
...
annotationProcessor com.tencent.tmf.android:portal-processor:3.0.0.0
...
}
混淆配置
通常来说SDK中已经内置了 Proguard 文件,无需进行额外的混淆配置。如果需要手动添加混淆配置,可以参考以下规则:
# Portal
-keep class com.tencent.tmf.portal.mapping.auto.generated.** { *; }
# Keep annotated by com.tencent.tmf.portal.annotations.NotProguard
-keep @com.tencent.tmf.portal.annotations.NotProguard class * {*;}
-keep,allowobfuscation @interface com.tencent.tmf.portal.annotations.NotProguard
-keepclassmembers class * {
@com.tencent.tmf.portal.annotations.NotProguard *;
}
# Keep annotated by com.tencent.tmf.portal.annotations.Destination
-keep @com.tencent.tmf.portal.annotations.Destination class * {*;}
-keep,allowobfuscation @interface com.tencent.tmf.portal.annotations.Destination
-keepclassmembers class * {
@com.tencent.tmf.portal.annotations.Destination *;
}