1.
说明
神策 Android 埋点 SDK 插件从
v4.0.0-beta
版本起为适配 AGP 8.0+(Android Gradle Plugin )做了比较大的功能更新,其中包括:
-
适配 AGP 8.0+ 的 Instrumentation API,兼容 Transform API;
-
支持 Gradle Plugins DSL 集成方式;
-
优化插件配置,具体请参考插件配置一节。
2.
Plugins DSL 集成方式
2.1.
添加 Maven 仓库
在
settings.gradle
文件中添加 Maven 仓库:
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral() //Maven 仓库
//...
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral() //Maven 仓库
//...
GROOVY
2.2.
声明插件路径
在
project/build.gradle
中添加神策插件的声明:
plugins {
id 'com.android.application' version '7.3.1' apply false //demo used
id 'com.android.library' version '7.3.1' apply false //demo used
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
id 'org.jetbrains.kotlin.jvm' version '1.7.20' apply false
//...
//添加神策插件路径声明,4.0.0-beta 是插件版本号
id 'com.sensorsdata.analytics.android' version "4.0.0-beta" apply false
GROOVY
2.3.
使用插件
在 app/build.gradle 中使用插件:
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
//...
//使用神策插件
id 'com.sensorsdata.analytics.android'
GROOVY
3.
常用插件配置说明
3.1.
插件 4.0.0+ 版本变动
为了简化插件配置以及适配 AGP 8.0+,从
插件 4.0.0+
版本开始删除了以下插件配置:
-
disablePlugin
-
disableMultiThreadBuild
-
disableIncrementalBuild
-
disableJar
-
disableTrackPush
-
disableCheckSDK
-
autoHandleWebView
|
配置
|
删除原因和替代方式
|
|
|
冗余的配置。可通过不使用插件替代。
|
|
|
无法适用在 AGP 8.0+ 中。
|
|
|
无法适用在 AGP 8.0+ 中。
|
|
|
无法适用在 AGP 8.0+ 中。
|
|
|
请使用 disableModules 替代。
|
|
|
请使用 disableModules 替代。
|
|
|
请使用 disableModules 替代。
|
3.2.
debug
默认值是
false
。
表示是否开启 debug 模式。
如果开启 debug 模式,在编译期间会打印详细日志信息。
sensorsAnalytics {
debug = true
3.3.
exclude
黑名单,可以通过 exclude 来指定
不
处理哪些 class、package。
配置示例:
sensorsAnalytics {
exclude = ['a.b.c', 'a.b.c.A']
不处理某个特定的类或包下面的所有类。
3.4.
开启 UC 浏览器打通
用于 UC 浏览器内核的打通注解插码。
sensorsAnalytics {
addUCJavaScriptInterface = true
3.5.
sensorsAnalytics.isHookOnMethodEnter
是否在方法进入时插入代码,
默认值为 false
。该配置仅适用于插件版本
3.1
.9 及以上。
如需配置,在工程的
gradle.properties
中加入以下配置:
sensorsAnalytics.isHookOnMethodEnter = true
3.6.
disableModules 禁用模块
用于指明禁用的模块,被禁用的模块不会进行插桩。该配置仅适用于插件版本
4.0.0
及以上,目前支持的配置有:
-
AUTOTRACK
-
PUSH
-
WEB_VIEW
特别是使用
模块化方式依赖神策 SDK
时,要特别注意添加禁用模块,例如:
sensorsAnalytics {
disableModules = ['PUSH']
上述配置表示不会对“推送”模块进行插桩。