Skip to content

Commit df55686

Browse files
author
dengshiwei
committed
Release 4.0.2
1 parent 8c951e1 commit df55686

File tree

9 files changed

+17
-26
lines changed

9 files changed

+17
-26
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ plugins {
1111

1212
ext {
1313
agpVersion = '7.3.1' //used for compile
14-
pluginVersion = '4.0.1' //plugin version
14+
pluginVersion = '4.0.2' //plugin version
1515
}

sa-agp-legacy/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ java {
1010

1111

1212
dependencies {
13-
implementation 'commons-io:commons-io:2.11.0'
14-
implementation 'commons-codec:commons-codec:1.15'
13+
implementation 'commons-io:commons-io:2.4'
14+
implementation 'commons-codec:commons-codec:1.10'
1515
implementation project(path: ':sa-agp-compat')
1616
compileOnly("com.android.tools.build:gradle-api:${rootProject.ext.agpVersion}")
1717
compileOnly("com.android.tools.build:gradle:${rootProject.ext.agpVersion}")

sa-agp-v7_3/src/main/kotlin/com/sensorsdata/analytics/android/gradle/v7_3/V73AGPContextImpl.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ import com.sensorsdata.analytics.android.gradle.AsmCompatFactory
55

66
object V73AGPContextImpl : AGPContext {
77
override var asmCompatFactory: AsmCompatFactory? = null
8-
}
9-
8+
}

sa-gradle-plugin/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ dependencies {
2424
implementation 'org.ow2.asm:asm-analysis:9.1'
2525
implementation 'org.ow2.asm:asm-util:9.1'
2626
implementation 'org.ow2.asm:asm-tree:9.1'
27-
implementation 'commons-io:commons-io:2.11.0'
2827
implementation 'com.google.code.gson:gson:2.10'
2928
}
3029

sa-gradle-plugin/src/main/kotlin/com/sensorsdata/analytics/android/plugin/common/VersionConstant.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.sensorsdata.analytics.android.plugin.common
22

33
object VersionConstant {
44
//Plugin Version
5-
const val VERSION = "4.0.1"
5+
const val VERSION = "4.0.2"
66
// MIN SDK Version
77
const val MIN_SDK_VERSION = "6.6.9"
88
}

sa-gradle-plugin/src/main/kotlin/com/sensorsdata/analytics/android/plugin/js/SensorsAnalyticsWebViewMethodVisitor.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,6 @@ class SensorsAnalyticsWebViewMethodVisitor(
8181
val ownerPosition = newLocal(Type.getObjectType(owner))
8282
storeLocal(ownerPosition)
8383
positionList.add(ownerPosition)
84-
//将局部变量表中的数据压入操作数栈中触发原有的方法
85-
positionList.reversed().forEach { tmp ->
86-
loadLocal(tmp)
87-
}
88-
super.visitMethodInsn(opcode, owner, name, desc, itf)
8984
//处理 Dcloud 中 WebView 的写法,缩小范围为 AdaWebView
9085
if (isDCloud(owner, classNameAnalytics.className)) {
9186
hookDCloud(positionList, name, desc)
@@ -97,6 +92,11 @@ class SensorsAnalyticsWebViewMethodVisitor(
9792
val newDesc = SAUtils.appendDescBeforeGiven(desc, VIEW_DESC)
9893
mv.visitMethodInsn(INVOKESTATIC, JS_BRIDGE_API, name, newDesc, false)
9994
}
95+
//将局部变量表中的数据压入操作数栈中触发原有的方法
96+
positionList.reversed().forEach { tmp ->
97+
loadLocal(tmp)
98+
}
99+
super.visitMethodInsn(opcode, owner, name, desc, itf)
100100
return
101101
}
102102
}

sa-gradle-plugin/src/main/kotlin/com/sensorsdata/analytics/android/plugin/manager/SAPluginManager.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.sensorsdata.analytics.android.plugin.manager
22

3+
import com.sensorsdata.analytics.android.gradle.AGPVersion
34
import com.sensorsdata.analytics.android.plugin.configs.SAConfigHookHelper
45
import com.sensorsdata.analytics.android.plugin.extension.SAExtension
56
import com.sensorsdata.analytics.android.plugin.utils.Logger
@@ -80,6 +81,9 @@ class SAPluginManager(private val project: Project) {
8081
isAndroidTV =
8182
(getOrDefault("sensorsAnalytics.isAndroidTv", "false") as String).toBoolean()
8283
asmVersion = getOrDefault("sensorsAnalytics.asmVersion", "ASM7") as String
84+
if (AGPVersion.CURRENT_AGP_VERSION >= AGPVersion(8, 0, 0)) {
85+
asmVersion = "ASM9"
86+
}
8387
}
8488
}
8589

@@ -107,5 +111,5 @@ class SAPluginManager(private val project: Project) {
107111
}
108112

109113
enum class SAModule {
110-
AUTOTRACK, PUSH, WEB_VIEW
114+
AUTOTRACK, PUSH, WEB_VIEW, REACT_NATIVE
111115
}

sa-gradle-plugin/src/main/kotlin/com/sensorsdata/analytics/android/plugin/utils/SAUtils.kt

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.sensorsdata.analytics.android.plugin.utils
22

3-
import org.apache.commons.io.IOUtils
43
import org.objectweb.asm.Opcodes
5-
import java.io.InputStream
64

75
object SAUtils {
86
fun isPublic(access: Int): Boolean {
@@ -54,16 +52,6 @@ object SAUtils {
5452
return 0
5553
}
5654

57-
fun toByteArrayAndAutoCloseStream(input: InputStream): ByteArray {
58-
try {
59-
return input.readBytes()
60-
} catch (e: Exception) {
61-
throw e
62-
} finally {
63-
IOUtils.closeQuietly(input)
64-
}
65-
}
66-
6755
/**
6856
* 获取 LOAD 或 STORE 的相反指令,例如 ILOAD => ISTORE,ASTORE => ALOAD
6957
*

sa-gradle-plugin/src/main/kotlin/com/sensorsdata/analytics/android/plugin/viewclick/SensorsAutoTrackMethodVisitor.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.sensorsdata.analytics.android.plugin.viewclick
33
import com.sensorsdata.analytics.android.plugin.ClassNameAnalytics
44
import com.sensorsdata.analytics.android.plugin.configs.SensorsAnalyticsHookConfig
55
import com.sensorsdata.analytics.android.plugin.fragment.SensorsFragmentHookConfig
6+
import com.sensorsdata.analytics.android.plugin.manager.SAModule
67
import com.sensorsdata.analytics.android.plugin.manager.SAPackageManager
78
import com.sensorsdata.analytics.android.plugin.manager.SAPluginManager
89
import com.sensorsdata.analytics.android.plugin.utils.Logger.warn
@@ -460,7 +461,7 @@ class SensorsAutoTrackMethodVisitor(
460461
isHasTracked = true
461462
return
462463
}
463-
if (handleRN()) {
464+
if (pluginManager.isModuleEnable(SAModule.REACT_NATIVE) && handleRN()) {
464465
isHasTracked = true
465466
return
466467
}

0 commit comments

Comments
 (0)