Skip to content

Commit d06cde8

Browse files
author
dengshiwei
committed
Release 3.2.4
1 parent 566e35f commit d06cde8

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ buildscript {
1818
dependencies {
1919
classpath 'com.android.tools.build:gradle:3.2.0'
2020
//添加 android-gradle-plugin 依赖
21-
       classpath 'com.sensorsdata.analytics.android:android-gradle-plugin2:3.2.3'
21+
       classpath 'com.sensorsdata.analytics.android:android-gradle-plugin2:3.2.4'
2222
}
2323
}
2424
@@ -38,7 +38,7 @@ apply plugin: 'com.sensorsdata.analytics.android'
3838
3939
dependencies {
4040
//添加 Sensors Analytics SDK 依赖
41-
  compile 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:4.0.7'
41+
  compile 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:4.0.8'
4242
}
4343
```
4444

plugin/ext.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
project.ext {
2-
pluginVersion = '3.2.3'
2+
pluginVersion = '3.2.4'
33
Properties properties = new Properties()
44
if (project.file('local.properties').exists()) {
55
properties.load(project.file('local.properties').newDataInputStream())

plugin/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsClassVisitor.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor {
173173

174174
MethodVisitor methodVisitor = cv.visitMethod(access, name, desc, signature, exceptions)
175175
if (transformHelper.extension != null && transformHelper.extension.autoHandleWebView && transformHelper.urlClassLoader != null) {
176-
methodVisitor = new SensorsAnalyticsWebViewMethodVisitor(methodVisitor, transformHelper)
176+
methodVisitor = new SensorsAnalyticsWebViewMethodVisitor(methodVisitor, transformHelper, mClassName)
177177
}
178178
SensorsAnalyticsDefaultMethodVisitor sensorsAnalyticsDefaultMethodVisitor = new SensorsAnalyticsDefaultMethodVisitor(methodVisitor, access, name, desc) {
179179
boolean isSensorsDataTrackViewOnClickAnnotation = false

plugin/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsTransform.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import java.util.zip.ZipEntry
4545

4646
class SensorsAnalyticsTransform extends Transform {
4747
private SensorsAnalyticsTransformHelper transformHelper
48-
public static final String VERSION = "3.2.3"
48+
public static final String VERSION = "3.2.4"
4949
public static final String MIN_SDK_VERSION = "4.0.7"
5050
private WaitableExecutor waitableExecutor
5151
private URLClassLoader urlClassLoader

plugin/src/main/groovy/com/sensorsdata/analytics/android/plugin/SensorsAnalyticsWebViewMethodVisitor.groovy

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,25 @@ class SensorsAnalyticsWebViewMethodVisitor extends MethodVisitor implements Opco
3333
"postUrl(Ljava/lang/String;[B)V"]
3434
private static final def VIEW_DESC = "Landroid/view/View;"
3535
private static final def OWNER_WHITE_SET = new HashSet(["android/webkit/WebView", "com/tencent/smtt/sdk/WebView"])
36+
private String className
3637

3738

38-
SensorsAnalyticsWebViewMethodVisitor(MethodVisitor mv, SensorsAnalyticsTransformHelper transformHelper) {
39+
SensorsAnalyticsWebViewMethodVisitor(MethodVisitor mv, SensorsAnalyticsTransformHelper transformHelper, String className) {
3940
super(SensorsAnalyticsUtil.ASM_VERSION, mv)
4041
this.transformHelper = transformHelper
42+
this.className = className
4143
}
4244

4345
@Override
4446
void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
4547
if (TARGET_NAME_DESC.contains(name + desc)) {
46-
if (isAssignableWebView(owner)) {
47-
opcode = INVOKESTATIC
48-
owner = SensorsAnalyticsHookConfig.SENSORS_ANALYTICS_API
49-
desc = reStructureDesc(desc)
48+
//忽略 WebView 的子类
49+
if (!isAssignableWebView(className)) {
50+
if (isAssignableWebView(owner)) {
51+
opcode = INVOKESTATIC
52+
owner = SensorsAnalyticsHookConfig.SENSORS_ANALYTICS_API
53+
desc = reStructureDesc(desc)
54+
}
5055
}
5156
}
5257
super.visitMethodInsn(opcode, owner, name, desc, itf)

0 commit comments

Comments
 (0)