@@ -28,7 +28,7 @@ import java.util.zip.ZipEntry
2828
2929class SensorsAnalyticsTransform extends Transform {
3030 private SensorsAnalyticsTransformHelper transformHelper
31- public static final String VERSION = " 3.0.2 "
31+ public static final String VERSION = " 3.0.3 "
3232 public static final String MIN_SDK_VERSION = " 3.0.0"
3333 private WaitableExecutor waitableExecutor
3434
@@ -59,11 +59,7 @@ class SensorsAnalyticsTransform extends Transform {
5959 return ! transformHelper. disableSensorsAnalyticsIncremental
6060 }
6161
62- @Override
63- boolean isCacheable () {
64- return ! transformHelper. disableSensorsAnalyticsIncremental
65- }
66- /**
62+ /**
6763 * 打印提示信息
6864 */
6965 private static void printCopyRight () {
@@ -302,7 +298,7 @@ class SensorsAnalyticsTransform extends Transform {
302298 className = entryName. replace(" /" , " ." ). replace(" .class" , " " )
303299 ClassNameAnalytics classNameAnalytics = transformHelper. analytics(className)
304300 if (classNameAnalytics. isShouldModify) {
305- modifiedClassBytes = modifyClasses (sourceClassBytes,classNameAnalytics)
301+ modifiedClassBytes = modifyClass (sourceClassBytes,classNameAnalytics)
306302 }
307303 }
308304 if (modifiedClassBytes == null ) {
@@ -318,32 +314,18 @@ class SensorsAnalyticsTransform extends Transform {
318314 return outputJar
319315 }
320316
321- private byte [] modifyClasses (byte [] srcByteCode ,ClassNameAnalytics classNameAnalytics ) {
322- try {
323- return modifyClass(srcByteCode,classNameAnalytics)
324- } catch (UnsupportedOperationException e) {
325- throw e
326- } catch (Exception ex) {
327- ex. printStackTrace()
328- if (transformHelper. extension. debug) {
329- throw new Error ()
330- }
331- return srcByteCode
332- }
333- }
334317 /**
335318 * 真正修改类中方法字节码
336319 */
337- private byte [] modifyClass (byte [] srcClass ,ClassNameAnalytics classNameAnalytics ) throws IOException {
320+ private byte [] modifyClass (byte [] srcClass , ClassNameAnalytics classNameAnalytics ) {
338321 try {
339322 ClassWriter classWriter = new ClassWriter (ClassWriter . COMPUTE_MAXS )
340- ClassVisitor classVisitor = new SensorsAnalyticsClassVisitor (classWriter,classNameAnalytics,transformHelper)
323+ ClassVisitor classVisitor = new SensorsAnalyticsClassVisitor (classWriter, classNameAnalytics, transformHelper)
341324 ClassReader cr = new ClassReader (srcClass)
342325 cr. accept(classVisitor, ClassReader . EXPAND_FRAMES )
343326 return classWriter. toByteArray()
344- } catch (UnsupportedOperationException e) {
345- throw e
346327 } catch (Exception ex) {
328+ println (" $classNameAnalytics . className 类执行 modifyClass 方法出现异常" )
347329 ex. printStackTrace()
348330 if (transformHelper. extension. debug) {
349331 throw new Error ()
@@ -363,7 +345,7 @@ class SensorsAnalyticsTransform extends Transform {
363345 ClassNameAnalytics classNameAnalytics = transformHelper. analytics(className)
364346 if (classNameAnalytics. isShouldModify) {
365347 byte [] sourceClassBytes = IOUtils . toByteArray(new FileInputStream (classFile))
366- byte [] modifiedClassBytes = modifyClasses (sourceClassBytes,classNameAnalytics)
348+ byte [] modifiedClassBytes = modifyClass (sourceClassBytes, classNameAnalytics)
367349 if (modifiedClassBytes) {
368350 modified = new File (tempDir, className. replace(' .' , ' ' ) + ' .class' )
369351 if (modified. exists()) {
0 commit comments