Skip to content

Commit

Permalink
Release 3.4.5
Browse files Browse the repository at this point in the history
  • Loading branch information
weiqiangliu committed Dec 15, 2021
1 parent d044625 commit 4e83d13
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 5 deletions.
2 changes: 1 addition & 1 deletion plugin/ext.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
project.ext {
pluginVersion = '3.4.4'
pluginVersion = '3.4.5'
Properties properties = new Properties()
if (project.file('local.properties').exists()) {
properties.load(project.file('local.properties').newDataInputStream())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@ class SensorsAnalyticsClassVisitor extends ClassVisitor {
* 目前支持以下 Fragment 页面浏览事件:
* android/app/Fragment,android/app/ListFragment, android/app/DialogFragment,
* android/support/v4/app/Fragment,android/support/v4/app/ListFragment,android/support/v4/app/DialogFragment,
* androidx/appcompat/app/AppCompatDialogFragment
* androidx/fragment/app/Fragment,androidx/fragment/app/ListFragment,androidx/fragment/app/DialogFragment
*/
if (SensorsAnalyticsUtil.isInstanceOfFragment(mSuperName)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class SensorsAnalyticsExtension {
public boolean addXWalkJavaScriptInterface = false
public boolean lambdaParamOptimize = false
public boolean disableTrackPush = false
public boolean disableCheckSDK = false
public ArrayList<String> exclude = []
public ArrayList<String> include = []

Expand Down Expand Up @@ -71,6 +72,7 @@ class SensorsAnalyticsExtension {
"\taddXWalkJavaScriptInterface=" + addXWalkJavaScriptInterface + "\n" +
"\tlambdaParamOptimize=" + lambdaParamOptimize + "\n" +
"\tlambdaEnabled=" + lambdaEnabled + "\n" +
"\tdisableCheckSDK=" + disableCheckSDK + "\n" +
"\texclude=[" + excludeBuilder.toString() + "]" + "\n" +
"\tinclude=[" + includeBuilder.toString() + "]" + "\n" +
"\tsdk {\n" + sdk + "\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ import java.util.jar.JarOutputStream

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

Expand Down Expand Up @@ -418,7 +426,7 @@ class SensorsAnalyticsTransform extends Transform {
ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS)
ClassVisitor classVisitor = new SensorsAnalyticsClassVisitor(classWriter, classNameAnalytics, transformHelper)
ClassReader cr = new ClassReader(srcClass)
cr.accept(classVisitor, ClassReader.EXPAND_FRAMES + ClassReader.SKIP_FRAMES)
cr.accept(classVisitor, ClassReader.EXPAND_FRAMES)
return classWriter.toByteArray()
} catch (Exception ex) {
Logger.error("$classNameAnalytics.className 类执行 modifyClass 方法出现异常")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class SensorsAnalyticsUtil {
targetFragmentClass.add('androidx/fragment/app/Fragment')
targetFragmentClass.add('androidx/fragment/app/ListFragment')
targetFragmentClass.add('androidx/fragment/app/DialogFragment')
targetFragmentClass.add('androidx/appcompat/app/AppCompatDialogFragment')

targetActivityClass.add('android/app/Activity')
targetActivityClass.add('android/support/v7/app/AppCompatActivity')
Expand Down

0 comments on commit 4e83d13

Please sign in to comment.