Skip to content

Commit 4e83d13

Browse files
author
weiqiangliu
committed
Release 3.4.5
1 parent d044625 commit 4e83d13

File tree

5 files changed

+17
-5
lines changed

5 files changed

+17
-5
lines changed

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.4.4'
2+
pluginVersion = '3.4.5'
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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,7 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor {
488488
* 目前支持以下 Fragment 页面浏览事件:
489489
* android/app/Fragment,android/app/ListFragment, android/app/DialogFragment,
490490
* android/support/v4/app/Fragment,android/support/v4/app/ListFragment,android/support/v4/app/DialogFragment,
491+
* androidx/appcompat/app/AppCompatDialogFragment
491492
* androidx/fragment/app/Fragment,androidx/fragment/app/ListFragment,androidx/fragment/app/DialogFragment
492493
*/
493494
if (SensorsAnalyticsUtil.isInstanceOfFragment(mSuperName)) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class SensorsAnalyticsExtension {
3030
public boolean addXWalkJavaScriptInterface = false
3131
public boolean lambdaParamOptimize = false
3232
public boolean disableTrackPush = false
33+
public boolean disableCheckSDK = false
3334
public ArrayList<String> exclude = []
3435
public ArrayList<String> include = []
3536

@@ -71,6 +72,7 @@ class SensorsAnalyticsExtension {
7172
"\taddXWalkJavaScriptInterface=" + addXWalkJavaScriptInterface + "\n" +
7273
"\tlambdaParamOptimize=" + lambdaParamOptimize + "\n" +
7374
"\tlambdaEnabled=" + lambdaEnabled + "\n" +
75+
"\tdisableCheckSDK=" + disableCheckSDK + "\n" +
7476
"\texclude=[" + excludeBuilder.toString() + "]" + "\n" +
7577
"\tinclude=[" + includeBuilder.toString() + "]" + "\n" +
7678
"\tsdk {\n" + sdk + "\n" +

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import java.util.jar.JarOutputStream
4848

4949
class SensorsAnalyticsTransform extends Transform {
5050
private SensorsAnalyticsTransformHelper transformHelper
51-
public static final String VERSION = "3.4.4"
51+
public static final String VERSION = "3.4.5"
5252
public static final String MIN_SDK_VERSION = "5.4.3"
5353
private WaitableExecutor waitableExecutor
5454
private URLClassLoader urlClassLoader
@@ -186,8 +186,16 @@ class SensorsAnalyticsTransform extends Transform {
186186
ProtectionDomain pd = sdkClazz.getProtectionDomain()
187187
CodeSource cs = pd.getCodeSource()
188188
sensorsSdkJarPath = cs.getLocation().toURI().getPath()
189-
} catch (Throwable throwable) {
190-
Logger.error("Can not load 'com.sensorsdata.analytics.android.sdk.SensorsDataAPI' class: ${throwable.localizedMessage}")
189+
} catch (ClassNotFoundException ignored) {
190+
if (!transformHelper.extension.disableCheckSDK) {
191+
throw new IllegalStateException("未检测到神策 Android SDK,请参考如下文档检查集成步骤是否正确:\n" +
192+
"https://manual.sensorsdata.cn/sa/latest/tech_sdk_client_android_basic-32506144.html\n" +
193+
"如需关闭此提示,请添加插件配置: disableCheckSdk=true")
194+
} else {
195+
Logger.warn("Can not load find SensorsData SDK jar's path.")
196+
}
197+
} catch (Throwable ignored) {
198+
Logger.warn("Can not load find SensorsData SDK jar's path.")
191199
}
192200
}
193201

@@ -418,7 +426,7 @@ class SensorsAnalyticsTransform extends Transform {
418426
ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS)
419427
ClassVisitor classVisitor = new SensorsAnalyticsClassVisitor(classWriter, classNameAnalytics, transformHelper)
420428
ClassReader cr = new ClassReader(srcClass)
421-
cr.accept(classVisitor, ClassReader.EXPAND_FRAMES + ClassReader.SKIP_FRAMES)
429+
cr.accept(classVisitor, ClassReader.EXPAND_FRAMES)
422430
return classWriter.toByteArray()
423431
} catch (Exception ex) {
424432
Logger.error("$classNameAnalytics.className 类执行 modifyClass 方法出现异常")

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class SensorsAnalyticsUtil {
5757
targetFragmentClass.add('androidx/fragment/app/Fragment')
5858
targetFragmentClass.add('androidx/fragment/app/ListFragment')
5959
targetFragmentClass.add('androidx/fragment/app/DialogFragment')
60+
targetFragmentClass.add('androidx/appcompat/app/AppCompatDialogFragment')
6061

6162
targetActivityClass.add('android/app/Activity')
6263
targetActivityClass.add('android/support/v7/app/AppCompatActivity')

0 commit comments

Comments
 (0)