Skip to content

Commit

Permalink
Release 3.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
weiqiangliu committed Sep 6, 2022
1 parent b07d0c9 commit f1c8d16
Show file tree
Hide file tree
Showing 28 changed files with 1,269 additions and 986 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.9'
pluginVersion = '3.5.0'
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 @@ -16,30 +16,30 @@
*/
package com.sensorsdata.analytics.android.plugin

import com.sensorsdata.analytics.android.plugin.core.HookConstant
import com.sensorsdata.analytics.android.plugin.version.SensorsDataSDKVersionHelper

class ClassNameAnalytics {
private static final String PACKAGE_START = "com.sensorsdata.analytics"
private static final String KEY_KEYBOARD = "KeyboardViewUtil"
public String className
boolean isShouldModify = false
boolean isSensorsDataAPI = false
boolean isSensorsDataUtils = false
boolean isOAIDHelper = false
boolean isSensorsDataVersion = false
boolean isSALog = false
boolean isKeyboardViewUtil = false
def methodCells = new ArrayList<SensorsAnalyticsMethodCell>()
boolean isAppWebViewInterface = false
public boolean isSensorsDataAPI = false
public boolean isSensorsDataUtils = false
public boolean isOAIDHelper = false
public boolean isSensorsDataVersion = false
public boolean isSALog = false
public boolean isKeyboardViewUtil = false
public boolean isAppWebViewInterface = false

ClassNameAnalytics(String className) {
this.className = className
isSensorsDataAPI = (className == 'com.sensorsdata.analytics.android.sdk.SensorsDataAPI')
isSensorsDataUtils = (className == 'com.sensorsdata.analytics.android.sdk.util.SensorsDataUtils')
isOAIDHelper = (className == 'com.sensorsdata.analytics.android.sdk.advert.utils.OaidHelper')
isSALog = (className == 'com.sensorsdata.analytics.android.sdk.SALog')
isAppWebViewInterface = ((className == 'com.sensorsdata.analytics.android.sdk.AppWebViewInterface')
|| (className == 'com.sensorsdata.analytics.android.sdk.visual.WebViewVisualInterface'))
isSensorsDataAPI = (className == HookConstant.SENSORS_DATA_API)
isSensorsDataUtils = (className == HookConstant.SENSORS_DATA_UTILS)
isOAIDHelper = (className == HookConstant.OAID_HELPER)
isSALog = (className == HookConstant.SA_LOG)
isAppWebViewInterface = ((className == HookConstant.APP_JS_INTERFACE)
|| (className == HookConstant.VISUAL_JS_INTERFACE))
isKeyboardViewUtil = (className.startsWith(PACKAGE_START) && className.endsWith(KEY_KEYBOARD))
isSensorsDataVersion = className.endsWith(SensorsDataSDKVersionHelper.VERSION_KEY_SENSORDATA_VERSION_CONFIG)
}
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/
package com.sensorsdata.analytics.android.plugin

import com.sensorsdata.analytics.android.plugin.configs.SensorsAnalyticsSDKExtension
import org.gradle.api.Action
import org.gradle.internal.reflect.Instantiator

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@
*/
package com.sensorsdata.analytics.android.plugin

import com.sensorsdata.analytics.android.plugin.viewclick.SensorsAnalyticsMethodCell
import org.objectweb.asm.Opcodes

class SensorsAnalyticsHookConfig {
public static final String SENSORS_ANALYTICS_API = "com/sensorsdata/analytics/android/sdk/SensorsDataAutoTrackHelper"
public static final String SENSORS_ANALYTICS_API = "com/sensorsdata/analytics/android/autotrack/aop/SensorsDataAutoTrackHelper"
public final static HashMap<String, SensorsAnalyticsMethodCell> INTERFACE_METHODS = new HashMap<>()
public final static HashMap<String, SensorsAnalyticsMethodCell> CLASS_METHODS = new HashMap<>()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.sensorsdata.analytics.android.plugin
import com.android.build.gradle.AppExtension
import com.android.build.gradle.BaseExtension
import com.android.build.gradle.LibraryExtension
import com.sensorsdata.analytics.android.plugin.utils.Logger
import com.sensorsdata.analytics.android.plugin.utils.VersionUtils
import org.gradle.api.Plugin
import org.gradle.api.Project
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ import com.android.build.api.transform.TransformInvocation
import com.android.build.api.transform.TransformOutputProvider
import com.android.build.gradle.internal.pipeline.TransformManager
import com.android.ide.common.internal.WaitableExecutor
import com.sensorsdata.analytics.android.plugin.utils.Logger
import com.sensorsdata.analytics.android.plugin.utils.ModuleUtils
import com.sensorsdata.analytics.android.plugin.utils.VersionUtils
import com.sensorsdata.analytics.android.plugin.version.SensorsDataSDKVersionHelper
import groovy.io.FileType
Expand All @@ -49,8 +51,8 @@ import java.util.jar.JarOutputStream

class SensorsAnalyticsTransform extends Transform {
private SensorsAnalyticsTransformHelper transformHelper
public static final String VERSION = "3.4.9"
public static final String MIN_SDK_VERSION = "5.4.3"
public static final String VERSION = "3.5.0"
public static final String MIN_SDK_VERSION = "6.5.0"
private WaitableExecutor waitableExecutor
private URLClassLoader urlClassLoader
// “com.sensorsdata.analytics.android.sdk.SensorsDataAPI” 类所在路径
Expand Down Expand Up @@ -185,6 +187,7 @@ class SensorsAnalyticsTransform extends Transform {
if(!isProjectLibrary) {
checkSensorsSDK()
}
ModuleUtils.checkModuleStatus(urlClassLoader)
}

private void checkSensorsSDK() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,16 @@
package com.sensorsdata.analytics.android.plugin

import com.android.build.gradle.BaseExtension
import com.sensorsdata.analytics.android.plugin.configs.SAConfigHookHelper

class SensorsAnalyticsTransformHelper {

SensorsAnalyticsExtension extension
BaseExtension android
RN_STATE rnState = RN_STATE.NOT_FOUND
String rnVersion = ""
SensorsAnalyticsSDKHookConfig sensorsAnalyticsHookConfig
public RN_STATE rnState = RN_STATE.NOT_FOUND
public String rnVersion = ""
boolean disableSensorsAnalyticsMultiThread
boolean disableSensorsAnalyticsIncremental
boolean isHookOnMethodEnter
public boolean isHookOnMethodEnter
HashSet<String> ignoreClass = new HashSet<>(['keyboard'])
HashSet<String> exclude = new HashSet<>(['com.sensorsdata.analytics.android.sdk',
'android.support',
Expand Down Expand Up @@ -97,34 +96,14 @@ class SensorsAnalyticsTransformHelper {
if (includePackages != null) {
include.addAll(includePackages)
}
createSensorsAnalyticsHookConfig()
}

private void createSensorsAnalyticsHookConfig() {
sensorsAnalyticsHookConfig = new SensorsAnalyticsSDKHookConfig()
List<MetaProperty> metaProperties = SensorsAnalyticsSDKExtension.getMetaClass().properties
for (it in metaProperties) {
if (it.name == 'class') {
continue
}
if (extension.sdk."${it.name}") {
sensorsAnalyticsHookConfig."${it.name}"(it.name)
}
}
SAConfigHookHelper.initSDKConfigCells(extension.sdk)
}

ClassNameAnalytics analytics(String className) {
ClassNameAnalytics classNameAnalytics = new ClassNameAnalytics(className)
if (classNameAnalytics.isSDKFile()) {
def cellHashMap = sensorsAnalyticsHookConfig.methodCells
cellHashMap.each {
key, value ->
def methodCellList = value.get(className.replace('.', '/'))
if (methodCellList != null) {
classNameAnalytics.methodCells.addAll(methodCellList)
}
}
if (classNameAnalytics.methodCells.size() > 0 || classNameAnalytics.isSensorsDataAPI
SAConfigHookHelper.initConfigCellInClass(className)
if (SAConfigHookHelper.sClassInConfigCells.size() > 0 || classNameAnalytics.isSensorsDataAPI
|| (classNameAnalytics.isAppWebViewInterface && (extension.addUCJavaScriptInterface || extension.addXWalkJavaScriptInterface))
|| classNameAnalytics.isKeyboardViewUtil || classNameAnalytics.isSensorsDataVersion) {
classNameAnalytics.isShouldModify = true
Expand Down
Loading

0 comments on commit f1c8d16

Please sign in to comment.