Skip to content

Commit

Permalink
Dev (#242)
Browse files Browse the repository at this point in the history
* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* sample-android add removeUnusedResources

* Dev apple (#155) (#158)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

Dev apple (#156)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

* change matrix-apple to matrix-iOS

* update notice

remove matrix-apple & sample-apple

remove matrix-apple & sample-apple

* update sample project (#160)

* fix memory leak

* Replace OSSpinLock with pthread_mutex_lock

* [resource-canary] fix potential invalid class exception.

*  [resource-canary] fix potential invalid class exception. (#175)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* sample-android add removeUnusedResources

* [resource-canary] fix potential invalid class exception.

* fixed some small errors

* Replace macro APP_NAME APP_BUNDLE with helper function

* Rename bundleNameHelper with bundle_name_helper

* Feature/dev (#186)

* Hotfix/0.4.x (#133) (#134)

* add stack parser

* fix UnusedResourcesTask const resource id

* fix UnusedResourcesTask const resource id

* modify methodbeat & framebeat

* optimize the TracePlugin

* optimize the TracePlugin

* backup codes for modify TraceDataUtils

* fix tracedatautil

* fix TraceDataUtils bug

* fix UIThreadMonitor onStop

* add memory share info

* fix async start traceplugin

* fix async start traceplugin

* modify UIThreadMonitor /ActivityThreadHacker

* fix onWindowfocuschange

* finish opt

* finish opt

* update version

* fix trim stack crash

* fix trim stack crash

* update 0.4.10.21

* update 0.4.10.21

* Dev (#142)

* Hotfix/0.4.x (#140)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* Hotfix/0.4.x (#141)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* update version

* fix getVmSize bug

* fix trim stack bug

* fix updatetime bug

* opt gradle-plugin

* opt gradle-plugin

* update matrix version for build opt

* update matrix version for build opt

* update matrix version for build opt

* update matrix version for build opt

* fix trace bug

* fix trace bug

* fix filter package bug

* fix monkey crash

* fix throw runtime exception

* fix throw runtime exception

* fix bug

* fix npe

* fix setMessagePrinter

* fix AppMethodBeat status

* update version

* fix bug

* fix addlistener bug

* fix anr without report stack key

* fix bug

* fix bug

* try catch oom

* fix bug

* fix mi max 2 looper printer bug

* fix bug

* stop detecting task if there's no any recorded destroyed activity or we've been switched to background.

* fix crash:http://mmtest.oa.com/androidcrashfile/crashfileview.php\?raw_path\=20190407_0x27000413_2450978833_1_32833013

* fix stack key bug

* remoce log

* add anr listener

* add log

* add anrlistener

* remove useless code

* remove useless codes

* remove todo

* Hotfix/0.4.x => dev (#188)

* merge to hotfix/0.4.x from dev (#187)

* Dev (#135)

* add feature: battery , thread and meminfo

sqlitelint remove abi  x86_64 and arm64-v8a first

* fix MethodTracer trace exception

* fix FrameTracer doFrame bug

* Update 开源公告.md

* Temporarily use private repo  instead of jcenter

* fix formatter

* typo

* fix: translation error

* Update issue_template.md

* add armeabi-v7a x86

* add armeabi-v7a,x86

* bugfix(memory leak):  关于elfhook_close问题 #18

* bugfix: APK Checker 运行异常,提示无法删除 classes2.dex #13

* Update README.md

* protect rule

* change apk-canary from 0.4.7 to  0.4.10

* APK checker, fix bug In the windows environment

* add arm64-v8a, x86_64

* style check and generate sourcejar

* fix FindNonAlphaPngTask NullPointerException

* fix UnStrippedSoCheckTask close file

* remove unsupport abi x86_64 and  arm_v8a yet

* add codecc build config

* add codecc build config

* version code update to 0.4.10

* fix conflict

* Bugfix: SqliteLint Support "arm64-v8a", "x86_64”.  issue#50

* fix readme format

* add circleci

* fix indent

* fix repo

* add pwd

* switch base image

* add permission

* fix path

* switch image

* fix directory

* add missing dependency

* fix dep

* fix typo

* update api level

* shutdownNow

* UnusedResourcesTask find resource cycle

* add log-level

* fix log

* try to fix issue #33

* fix UnusedResourcesTask array data resource

* bugfix: codecc check

* update codecc

* Hotfix/0.4.x (#75)

* shutdownNow

* UnusedResourcesTask find resource cycle

* add log-level

* fix log

* try to fix issue #33

* fix UnusedResourcesTask array data resource

* [resource-canary] fix bugs found by codecc.

* Bugfix: wrong config key

* Squashed commit of the following:

commit f3cb6f2
Author: felixzhou <[email protected]>
Date:   Thu Jan 10 15:32:27 2019 +0800

    Bugfix: wrong config key

commit 538d36c
Author: jqctop1 <[email protected]>
Date:   Wed Jan 9 10:50:41 2019 +0800

    Hotfix/0.4.x (#75)

    * shutdownNow

    * UnusedResourcesTask find resource cycle

    * add log-level

    * fix log

    * try to fix issue #33

    * fix UnusedResourcesTask array data resource

commit 7299f8d
Author: felixzhou <[email protected]>
Date:   Wed Jan 9 10:45:39 2019 +0800

    update codecc

commit 6f5ad08
Author: felixzhou <[email protected]>
Date:   Tue Jan 8 21:53:18 2019 +0800

    bugfix: codecc check

commit d6e7ed2
Author: felixzhou <[email protected]>
Date:   Mon Jan 7 21:02:44 2019 +0800

    update api level

commit 7bb9743
Merge: 6085c25 e9ca978
Author: felixzhou <[email protected]>
Date:   Fri Jan 4 19:11:31 2019 +0800

    Merge pull request #65 from gengjiawen/feature/ci

    add CI

commit e9ca978
Author: gengjiawen <[email protected]>
Date:   Thu Jan 3 20:39:36 2019 +0800

    fix typo

commit 87e4612
Author: gengjiawen <[email protected]>
Date:   Thu Jan 3 20:34:37 2019 +0800

    fix dep

commit 176ecd2
Author: gengjiawen <[email protected]>
Date:   Thu Jan 3 20:30:24 2019 +0800

    add missing dependency

commit b71995b
Author: gengjiawen <[email protected]>
Date:   Thu Jan 3 20:16:50 2019 +0800

    fix directory

commit 7edcfc2
Author: gengjiawen <[email protected]>
Date:   Thu Jan 3 20:10:29 2019 +0800

    switch image

commit 119ff4c
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:17:02 2019 +0800

    fix path

commit 772850f
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:11:41 2019 +0800

    add permission

commit 7b16a75
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:11:16 2019 +0800

    switch base image

commit de35ba3
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:09:07 2019 +0800

    add pwd

commit 7ab8e63
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:06:32 2019 +0800

    fix repo

commit 7ccb407
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:04:09 2019 +0800

    fix indent

commit 023b957
Author: gengjiawen <[email protected]>
Date:   Wed Jan 2 23:01:30 2019 +0800

    add circleci

commit 6085c25
Merge: 30c0f45 f048485
Author: felixzhou <[email protected]>
Date:   Thu Jan 3 20:47:25 2019 +0800

    Merge pull request #64 from Tencent/hotfix/0.4.x

    Hotfix/0.4.x

commit f048485
Merge: 9e04207 30c0f45
Author: felixzhou <[email protected]>
Date:   Thu Jan 3 20:38:24 2019 +0800

    Merge branch 'dev' into hotfix/0.4.x

    # Conflicts:
    #	README.md

commit 9e04207
Author: jixin.jia <[email protected]>
Date:   Thu Jan 3 16:33:26 2019 +0800

    fix readme format

commit 267d654
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 17:27:50 2019 +0800

    Bugfix: SqliteLint Support "arm64-v8a", "x86_64”.  issue#50

commit 073e3d4
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:57:01 2019 +0800

    fix conflict

commit 5b58cd8
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:50:22 2019 +0800

    version code update to 0.4.10

commit 9ab2c2d
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 15:33:37 2018 +0800

    add codecc build config

commit 3171543
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 15:40:26 2018 +0800

    add codecc build config

commit 38a7e6a
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 14:40:37 2018 +0800

    remove unsupport abi x86_64 and  arm_v8a yet

commit f07ab3a
Author: williamjin <[email protected]>
Date:   Sat Dec 29 13:27:54 2018 +0800

    fix UnStrippedSoCheckTask close file

commit 951df47
Author: williamjin <[email protected]>
Date:   Sat Dec 29 13:26:22 2018 +0800

    fix FindNonAlphaPngTask NullPointerException

commit 36afa0a
Author: felixzhou <[email protected]>
Date:   Fri Dec 28 21:18:32 2018 +0800

    style check and generate sourcejar

commit 5261b75
Author: hamberluo <[email protected]>
Date:   Thu Dec 27 10:09:53 2018 +0800

    add arm64-v8a, x86_64

commit efe3a99
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 20:44:26 2018 +0800

    APK checker, fix bug In the windows environment

commit 6c18996
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 20:39:03 2018 +0800

    change apk-canary from 0.4.7 to  0.4.10

commit ac52f81
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 19:16:55 2018 +0800

    protect rule

commit b52d8d5
Author: astrozhou <[email protected]>
Date:   Wed Dec 26 19:14:38 2018 +0800

    Update README.md

commit cd144ff
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 18:01:28 2018 +0800

    bugfix: APK Checker 运行异常,提示无法删除 classes2.dex #13

commit f1eb5f5
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 16:54:56 2018 +0800

    bugfix(memory leak):  关于elfhook_close问题 #18

commit 3a3a1b2
Author: astrozhou <[email protected]>
Date:   Tue Dec 25 19:45:30 2018 +0800

    add armeabi-v7a,x86

commit 60f49bb
Author: astrozhou <[email protected]>
Date:   Tue Dec 25 19:10:15 2018 +0800

    add armeabi-v7a x86

commit b100fc4
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 17:27:00 2018 +0800

    Update issue_template.md

commit 798b5ff
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 17:19:06 2018 +0800

    fix: translation error

commit 1217613
Author: guoling <[email protected]>
Date:   Tue Dec 25 17:07:47 2018 +0800

    typo

commit 36c5b0b
Author: astrozhou <[email protected]>
Date:   Tue Dec 25 16:26:38 2018 +0800

    fix formatter

commit 1490893
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 15:13:30 2018 +0800

    Temporarily use private repo  instead of jcenter

commit 822fa93
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 11:43:56 2018 +0800

    Update 开源公告.md

commit 0d0fbf3
Author: changelcai <[email protected]>
Date:   Thu Jan 3 18:39:53 2019 +0800

    fix FrameTracer doFrame bug

commit 0f7a327
Author: changelcai <[email protected]>
Date:   Thu Jan 3 18:40:16 2019 +0800

    fix MethodTracer trace exception

commit 30c0f45
Merge: d834a83 fb92c82
Author: astrozhou <[email protected]>
Date:   Thu Jan 3 17:09:55 2019 +0800

    Merge pull request #54 from jasonross/dev

    fix readme format

commit fb92c82
Author: jixin.jia <[email protected]>
Date:   Thu Jan 3 16:33:26 2019 +0800

    fix readme format

commit d834a83
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 17:27:50 2019 +0800

    Bugfix: SqliteLint Support "arm64-v8a", "x86_64”.  issue#50

commit 43b43ff
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:57:01 2019 +0800

    fix conflict

commit 83d5a54
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:50:22 2019 +0800

    version code update to 0.4.10

commit 00a780a
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 15:33:37 2018 +0800

    add codecc build config

commit 16f33da
Merge: 516e5dc 21bfba1
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:46:11 2019 +0800

    Merge pull request #48 from Tencent/dev

    Dev

commit 21bfba1
Merge: a93b95b 516e5dc
Author: felixzhou <[email protected]>
Date:   Wed Jan 2 10:45:51 2019 +0800

    Merge branch 'master' into dev

commit a93b95b
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 15:40:26 2018 +0800

    add codecc build config

commit e1c0442
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 14:40:37 2018 +0800

    remove unsupport abi x86_64 and  arm_v8a yet

commit 516e5dc
Merge: 5d51c87 7b2095e
Author: felixzhou <[email protected]>
Date:   Sat Dec 29 14:12:26 2018 +0800

    Merge pull request #43 from jqctop1/dev_jqctop1

    [bugfix] ApkChecker

commit 7b2095e
Author: williamjin <[email protected]>
Date:   Sat Dec 29 13:27:54 2018 +0800

    fix UnStrippedSoCheckTask close file

commit f8ebb65
Author: williamjin <[email protected]>
Date:   Sat Dec 29 13:26:22 2018 +0800

    fix FindNonAlphaPngTask NullPointerException

commit 5d51c87
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 20:44:26 2018 +0800

    APK checker, fix bug In the windows environment

commit c9a04e1
Author: felixzhou <[email protected]>
Date:   Wed Dec 26 20:39:03 2018 +0800

    change apk-canary from 0.4.7 to  0.4.10

commit d1ef28c
Author: astrozhou <[email protected]>
Date:   Wed Dec 26 19:14:38 2018 +0800

    Update README.md

commit 7eaf1da
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 17:27:00 2018 +0800

    Update issue_template.md

commit 42b8fee
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 17:19:06 2018 +0800

    fix: translation error

commit 1e46050
Author: astrozhou <[email protected]>
Date:   Tue Dec 25 16:26:38 2018 +0800

    fix formatter

commit d9b0b33
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 15:13:30 2018 +0800

    Temporarily use private repo  instead of jcenter

commit 5c26c22
Author: felixzhou <[email protected]>
Date:   Tue Dec 25 11:43:56 2018 +0800

    Update 开源公告.md

* remove abi: armeabi

* fix UnusedAssetsTask

* fix build.gradle

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86 (#110)

* use relative path

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* Hotfix/0.4.x (#119)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* bugfix: protect startService invocation in MatrixJobIntentService in case system throw an exception in some edge case.

* fix SecurityException when startService in MatrixJobIntentService. (#120)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* bugfix: protect startService invocation in MatrixJobIntentService in case system throw an exception in some edge case.

* adapt StartUpTracer for Android 9.0

* revert VERSION_NAME_PREFIX to 0.4.10

* Hotfix/0.4.x (#122)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* bugfix: protect startService invocation in MatrixJobIntentService in case system throw an exception in some edge case.

* adapt StartUpTracer for Android 9.0

* revert VERSION_NAME_PREFIX to 0.4.10

* Dev (#123)

* Update 开源公告.md

* Temporarily use private repo  instead of jcenter

* fix formatter

* fix: translation error

* Update issue_template.md

* Update README.md

* change apk-canary from 0.4.7 to  0.4.10

* APK checker, fix bug In the windows environment

* fix FindNonAlphaPngTask NullPointerException

* fix UnStrippedSoCheckTask close file

* remove unsupport abi x86_64 and  arm_v8a yet

* add codecc build config

* add codecc build config

* version code update to 0.4.10

* fix conflict

* Bugfix: SqliteLint Support "arm64-v8a", "x86_64”.  issue#50

* fix readme format

* fix MethodTracer trace exception

* fix FrameTracer doFrame bug

* Update 开源公告.md

* Temporarily use private repo  instead of jcenter

* fix formatter

* typo

* fix: translation error

* Update issue_template.md

* add armeabi-v7a x86

* add armeabi-v7a,x86

* bugfix(memory leak):  关于elfhook_close问题 #18

* bugfix: APK Checker 运行异常,提示无法删除 classes2.dex #13

* Update README.md

* protect rule

* change apk-canary from 0.4.7 to  0.4.10

* APK checker, fix bug In the windows environment

* add arm64-v8a, x86_64

* style check and generate sourcejar

* fix FindNonAlphaPngTask NullPointerException

* fix UnStrippedSoCheckTask close file

* remove unsupport abi x86_64 and  arm_v8a yet

* add codecc build config

* add codecc build config

* version code update to 0.4.10

* fix conflict

* Bugfix: SqliteLint Support "arm64-v8a", "x86_64”.  issue#50

* fix readme format

* add circleci

* fix indent

* fix repo

* add pwd

* switch base image

* add permission

* fix path

* switch image

* fix directory

* add missing dependency

* fix dep

* fix typo

* update api level

* shutdownNow

* UnusedResourcesTask find resource cycle

* add log-level

* fix log

* try to fix issue #33

* fix UnusedResourcesTask array data resource

* bugfix: codecc check

* update codecc

* Hotfix/0.4.x (#75)

* shutdownNow

* UnusedResourcesTask find resource cycle

* add log-level

* fix log

* try to fix issue #33

* fix UnusedResourcesTask array data resource

* [resource-canary] fix bugs found by codecc.

* Bugfix: wrong config key

* fix UnusedAssetsTask

* fix build.gradle

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86 (#110)

* use relative path

* Hotfix/0.4.x (#119)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* fix SecurityException when startService in MatrixJobIntentService. (#120)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* bugfix: protect startService invocation in MatrixJobIntentService in case system throw an exception in some edge case.

* Hotfix/0.4.x (#122)

* [IOCanary][bug-fix]CloseGuardHooker.tryHook没有适配9.0 #86

* fix FrameTracer doFrame bug

# Conflicts:
#	matrix/matrix-android/matrix-trace-canary/src/main/java/com/tencent/matrix/trace/tracer/FrameTracer.java

* fix MethodTracer trace exception

* bugfix: protect startService invocation in MatrixJobIntentService in case system throw an exception in some edge case.

* adapt StartUpTracer for Android 9.0

* revert VERSION_NAME_PREFIX to 0.4.10

* no  need file: HackCallback.java

* fix UnusedResourcesTask const resource id

* Hotfix/0.4.x (#133)

* add stack parser

* fix UnusedResourcesTask const resource id

* fix UnusedResourcesTask const resource id

* style check

* Hotfix/0.4.x (#141)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* Hotfix/0.4.x (#151)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* Dev (#152)

* Hotfix/0.4.x (#139)

* fix trimstack stackover bug

* fix trimstack stackover bug

* Hotfix/0.4.x (#140)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* Hotfix/0.4.x (#141)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* Hotfix/0.4.x (#151)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* Dev apple (#154)

* Hotfix/0.4.x (#139)

* fix trimstack stackover bug

* fix trimstack stackover bug

* Hotfix/0.4.x (#140)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* Hotfix/0.4.x (#141)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* Hotfix/0.4.x (#151)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

* Dev apple (#155)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

* Dev apple (#155) (#158)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

Dev apple (#156)

* update readme

* feat(matrix-apple): source code & sample

* update podspec

* Update README.md

* Update README.md

* Update README.md

* rename(PodSpec): matrix-apple -> matrix-wechat

* update(sample): matrix-apple -> matrix-wechat

* update readme.md

* change matrix-apple to matrix-iOS

* update notice

remove matrix-apple & sample-apple

remove matrix-apple & sample-apple

* update sample project (#160)

* fix memory leak

* Replace OSSpinLock with pthread_mutex_lock

*  [resource-canary] fix potential invalid class exception. (#175)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* java.lang.ArithmeticException: divide by zero

* sample-android add removeUnusedResources

* [resource-canary] fix potential invalid class exception.

* fixed some small errors

* Replace macro APP_NAME APP_BUNDLE with helper function

* Rename bundleNameHelper with bundle_name_helper

* Feature/dev (#186)

* Hotfix/0.4.x (#133) (#134)

* add stack parser

* fix UnusedResourcesTask const resource id

* fix UnusedResourcesTask const resource id

* modify methodbeat & framebeat

* optimize the TracePlugin

* optimize the TracePlugin

* backup codes for modify TraceDataUtils

* fix tracedatautil

* fix TraceDataUtils bug

* fix UIThreadMonitor onStop

* add memory share info

* fix async start traceplugin

* fix async start traceplugin

* modify UIThreadMonitor /ActivityThreadHacker

* fix onWindowfocuschange

* finish opt

* finish opt

* update version

* fix trim stack crash

* fix trim stack crash

* update 0.4.10.21

* update 0.4.10.21

* Dev (#142)

* Hotfix/0.4.x (#140)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* Hotfix/0.4.x (#141)

* fix trimstack stackover bug

* fix trimstack stackover bug

* fix trimstack crash and methodbeat

* fix trim stack crash

* update version

* fix getVmSize bug

* fix trim stack bug

* fix updatetime bug

* opt gradle-plugin

* opt gradle-plugin

* update matrix version for build opt

* update matrix version for build opt

* update matrix version for build opt

* update matrix version for build opt

* fix trace bug

* fix trace bug

* fix filter package bug

* fix monkey crash

* fix throw runtime exception

* fix throw runtime exception

* fix bug

* fix npe

* fix setMessagePrinter

* fix AppMethodBeat status

* update version

* fix bug

* fix addlistener bug

* fix anr without report stack key

* fix bug

* fix bug

* try catch oom

* fix bug

* fix mi max 2 looper printer bug

* fix bug

* stop detecting task if there's no any recorded destroyed activity or we've been switched to background.

* fix crash:http://mmtest.oa.com/androidcrashfile/crashfileview.php\?raw_path\=20190407_0x27000413_2450978833_1_32833013

* fix stack key bug

* remoce log

* add anr listener

* add log

* add anrlistener

* remove useless code

* remove useless codes

* remove todo

* upgrade version to 0.5.1

* fix trace build bug (#199)

* Hotfix/0.5.x (#200)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* Hotfix/0.5.x to dev (#207)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* try catch OutOfMemoryError

* fix npe

* fix permission crash

* 1. style check  2. upload 0.5.2 to jcenter 3. add ‘armeabi’ back to abiFilters

* Hotfix/0.5.x (#226)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* try catch OutOfMemoryError

* fix npe

* fix permission crash

* 1. style check  2. upload 0.5.2 to jcenter 3. add ‘armeabi’ back to abiFilters

* Dev (#208)

* fix trace build bug (#199)

* Hotfix/0.5.x (#200)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* Hotfix/0.5.x to dev (#207)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* try catch OutOfMemoryError

* fix npe

* fix permission crash

* 1. style check  2. upload 0.5.2 to jcenter 3. add ‘armeabi’ back to abiFilters

* fix(MemStat): USE_PRIVATE_API  access nil pointer

* fix(MemStat): do not “update_object_event” for g_matrix_block_monitor_dumping_thread_id

* fix(MemStat): do not log the oc’event of dumping thread

* fix(CrashBlock): free g_topStackAddressRepeatArray

* gzip冲突修复 (#224) (#231)

* 重命名GZIP文件,和cocoapods中其他GZIP pod冲突了

* 修改master的podspec,文件路径变化了

*  fix(AppReboot): app_uuid() crash (#234)

* gzip冲突修复 (#224)

* 重命名GZIP文件,和cocoapods中其他GZIP pod冲突了

* 修改master的podspec,文件路径变化了

* fix(AppReboot): app_uuid() crash

* Hotfix/0.5.x (#240)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* try catch OutOfMemoryError

* fix npe

* fix permission crash

* 1. style check  2. upload 0.5.2 to jcenter 3. add ‘armeabi’ back to abiFilters

* Dev (#208)

* fix trace build bug (#199)

* Hotfix/0.5.x (#200)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* Hotfix/0.5.x to dev (#207)

* fix trace build bug

* fix CheckedDatabaseListActivity 兼容性crash

* try catch OutOfMemoryError

* fix npe

* fix permission crash

* 1. style check  2. upload 0.5.2 to jcenter 3. add ‘armeabi’ back to abiFilters

* fix(MemStat): USE_PRIVATE_API  access nil pointer

* fix(MemStat): do not “update_object_event” for g_matrix_block_monitor_dumping_thread_id

* fix(MemStat): do not log the oc’event of dumping thread

* fix(CrashBlock): free g_topStackAddressRepeatArray

* [SQLiteLint]fix 一些不好的、潜在sql注入风险的代码

* [SQLiteLint]sample默认采取Hook模式,fix之前没有进行sql分析

* [SQLiteLint]去除sample中无用的代码

* fix TraceConfig#getSplashActivities method's NullPointException on Android. fix #238 (#239)

* Fix syscall 0xf0002 is blocked by seccomp filter in android o/p armv8-64 so (#230)
  • Loading branch information
txfelixzhou authored May 28, 2019
1 parent c1f53f8 commit d05714e
Show file tree
Hide file tree
Showing 22 changed files with 384 additions and 93 deletions.
2 changes: 1 addition & 1 deletion matrix/matrix-android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro
# org.gradle.parallel=true
#Tue Jun 20 10:24:33 CST 2017

VERSION_NAME_PREFIX=0.5.1
VERSION_NAME_PREFIX=0.5.2
VERSION_NAME_SUFFIX=
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ static int locate_symbol(const loaded_soinfo *soinfo, const char *name, Elf_Sym
static void clear_cache(void *addr) {
unsigned long soff = ((unsigned long) addr) & PAGE_MASK;
unsigned long eoff = soff + getpagesize();
syscall(0xf0002, soff, eoff);
__builtin___clear_cache(soff, eoff);
}

static int replace_elf_rel_segment(const loaded_soinfo *soinfo, Elf_Addr rel_addr, size_t rel_count,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void onDestroy(Plugin plugin) {

@Override
public void onReportIssue(Issue issue) {
MatrixLog.i(TAG, "report issue content: %s", issue);
MatrixLog.i(TAG, "report issue content: %s", issue == null ? "" : issue);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,9 @@ public static boolean checkDirectory(String dir) {
}

public static String readFileAsString(String filePath) {
if (!new File(filePath).exists()) {
return "";
}
StringBuffer fileData = new StringBuffer();
Reader fileReader = null;
InputStream inputStream = null;
Expand All @@ -226,8 +229,8 @@ public static String readFileAsString(String filePath) {
}
} catch (Exception e) {
Log.e(TAG, "file op readFileAsString e type:%s, e msg:%s, filePath:%s",
e.getClass().getSimpleName(), e.getMessage(), filePath);

e.getClass().getSimpleName(), e.getMessage(), filePath);
return "";
} finally {
try {
closeQuietly(fileReader);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.tencent.matrix.javalib.util.Util;
import com.tencent.matrix.trace.retrace.MappingCollector;

import java.io.File;
import java.util.HashSet;

public class Configuration {
Expand All @@ -30,13 +29,7 @@ public class Configuration {
}

public int parseBlackFile(MappingCollector processor) {
File blackFile = new File(blackListFilePath);
if (!blackFile.exists()) {
return blackSet.size();
}

String blackStr = TraceBuildConstants.DEFAULT_BLACK_TRACE + FileUtil.readFileAsString(blackFile.getAbsolutePath());

String blackStr = TraceBuildConstants.DEFAULT_BLACK_TRACE + FileUtil.readFileAsString(blackListFilePath);
String[] blackArray = blackStr.trim().replace("/", ".").split("\n");

if (blackArray != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ android {
arguments "-Dplatform=android"
}
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ public static List<SQLiteLintIssue> getIssueListByDb(String dbLabel) {
return issueList;
}

String querySql = String.format("SELECT * FROM %s where %s='%s' ORDER BY %s DESC", TABLE_NAME, COLUMN_DB_PATH, dbLabel, COLUMN_CREATE_TIME);
Cursor cursor = SQLiteLintDbHelper.INSTANCE.getDatabase().rawQuery(querySql, null);
String querySql = String.format("SELECT * FROM %s where %s=? ORDER BY %s DESC", TABLE_NAME, COLUMN_DB_PATH, COLUMN_CREATE_TIME);
Cursor cursor = SQLiteLintDbHelper.INSTANCE.getDatabase().rawQuery(querySql, new String[]{dbLabel});
try {
while (cursor.moveToNext()) {
issueList.add(issueConvertFromCursor(cursor));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize"
android:layout_height="@dimen/abc_action_bar_default_height_material"
android:layout_width="match_parent"
android:background="#ff009688"
app:navigationIcon="@drawable/back_icon_normal"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@

package com.tencent.matrix.trace.config;

import android.text.TextUtils;

import com.tencent.matrix.trace.constants.Constants;
import com.tencent.matrix.trace.listeners.IDefaultConfig;
import com.tencent.mrs.plugin.IDynamicConfig;

import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

Expand All @@ -44,7 +47,6 @@ public class TraceConfig implements IDefaultConfig {
public String splashActivities;
public Set<String> splashActivitiesSet;


private TraceConfig() {

}
Expand Down Expand Up @@ -96,14 +98,26 @@ public boolean isAnrTraceEnable() {

public Set<String> getSplashActivities() {
if (null == splashActivitiesSet) {
splashActivitiesSet = (null == dynamicConfig
? new HashSet<>(Arrays.asList(splashActivities))
: new HashSet<>(Arrays.asList(dynamicConfig.get(IDynamicConfig.ExptEnum.clicfg_matrix_trace_care_scene_set.name(), splashActivities).split(";"))));
splashActivitiesSet = (dynamicConfig == null)
? createSplashHashSet(splashActivities)
: createSplashHashSet(dynamicConfig.get(IDynamicConfig.ExptEnum.clicfg_matrix_trace_care_scene_set.name(), splashActivities)) ;
}
return splashActivitiesSet;
}


private static Set<String> createSplashHashSet(String rawString) {
Set<String> splashHashSet ;
if ( rawString != null ) {
splashHashSet = new HashSet<>(Arrays.asList(rawString.split(";")) ) ;
} else {
splashHashSet = new HashSet<>(Collections.<String>emptyList()) ;
}
return splashHashSet;

}


public int getEvilThresholdMs() {
return null == dynamicConfig
? Constants.DEFAULT_EVIL_METHOD_THRESHOLD_MS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public static void i(int methodId) {
}

if (status == STATUS_DEFAULT) {
synchronized (statusLock) {
synchronized (statunnnnnnnsLock) {
if (status == STATUS_DEFAULT) {
realExecute();
status = STATUS_READY;
Expand Down Expand Up @@ -426,7 +426,7 @@ public long[] copyData(IndexRecord startRecord, IndexRecord endRecord) {
return data;
}
return data;
} catch (Exception e) {
} catch (OutOfMemoryError e) {
MatrixLog.e(TAG, e.toString());
return data;
} finally {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
android:id="@+id/fps_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:padding="6dp"
android:text="60.00 FPS"
android:textColor="@android:color/holo_green_dark"
android:textSize="16dp" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
package com.tencent.matrix.trace.config;

import com.tencent.mrs.plugin.IDynamicConfig;

import junit.framework.TestCase;

import org.junit.Before;
import org.junit.Test;

import java.util.Set;

public class TraceConfigTestCase extends TestCase {

private IDynamicConfig dynamicConfig ;

@Before
@Override
public void setUp() throws Exception {
super.setUp();
dynamicConfig = new MockDynamicConfig() ;
}

/**
* 测试设置了 dynamicConfig, 但是没有设置 splash activities的场景
*/
@Test
public void testNotSetSplashActivities() {
TraceConfig config = new TraceConfig.Builder().dynamicConfig(dynamicConfig).build() ;

Set<String> activities = config.getSplashActivities() ;
assertNotNull(activities);
assertFalse( activities.contains("SplashActivity"));
}

/**
* 测试 dynamicConfig 和 splashActivities 都为 null的场景不会产生crash
*/
@Test
public void testNotSetDynamicConfig() {
TraceConfig config = new TraceConfig.Builder().build() ;
Set<String> activities = config.getSplashActivities() ;
assertNotNull(activities);
assertEquals(0, activities.size());
assertFalse( activities.contains("SplashActivity"));
}

/**
* 模拟通过 dynamicConfig 设置 splashActivities
*/
@Test
public void testSetSplashActivities() {
final String splashActivities = "com.tencent.matrix.SplashActivity1;com.tencent.matrix.SplashActivity2";
// 设置
TraceConfig config = new TraceConfig.Builder().dynamicConfig(new MockDynamicConfig() {
@Override
public String get(String key, String defStr) {
if ( IDynamicConfig.ExptEnum.clicfg_matrix_trace_care_scene_set.name().equalsIgnoreCase(key) ) {
return splashActivities ;
}
return super.get(key, defStr);
}
}).build() ;

Set<String> activities = config.getSplashActivities() ;
assertNotNull(activities);
assertEquals(2, activities.size());
assertTrue( activities.contains("com.tencent.matrix.SplashActivity1"));
assertTrue( activities.contains("com.tencent.matrix.SplashActivity2"));
}


/**
* 模拟dynamicConfig为null, 通过 TraceConfig 设置 splashActivities
*/
@Test
public void testSetSplashActivitiesWithTraceConfig() {
final String splashActivities = "com.tencent.matrix.SplashActivity1;com.tencent.matrix.SplashActivity2";
TraceConfig config = new TraceConfig.Builder().build() ;
// 设置 splashActivities
config.splashActivities = splashActivities ;

Set<String> activities = config.getSplashActivities() ;
assertNotNull(activities);
assertEquals(2, activities.size());
assertTrue( activities.contains("com.tencent.matrix.SplashActivity1"));
assertTrue( activities.contains("com.tencent.matrix.SplashActivity2"));
}

/**
* 测试只设置了一个SplashActivity的场景
*/
@Test
public void testOneSplashActivity() {
final String splashActivities = "com.tencent.matrix.SplashActivity1";
TraceConfig config = new TraceConfig.Builder().build() ;
// 设置 splashActivities
config.splashActivities = splashActivities ;

Set<String> activities = config.getSplashActivities() ;
assertNotNull(activities);
assertEquals(1, activities.size());
assertTrue( activities.contains("com.tencent.matrix.SplashActivity1"));
assertFalse( activities.contains("com.tencent.matrix.SplashActivity2"));
}

/**
* null empty impl IDynamicConfig
*/
private static class MockDynamicConfig implements IDynamicConfig {

@Override
public String get(String key, String defStr) {
// return null to mock null value to test case
return null;
// return defStr;
}

@Override
public int get(String key, int defInt) {
return 0;
}

@Override
public long get(String key, long defLong) {
return 0;
}

@Override
public boolean get(String key, boolean defBool) {
return false;
}

@Override
public float get(String key, float defFloat) {
return 0;
}
} // end of MockDynamicConfig
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,21 +68,29 @@ - (id)init
return [self initWithCycleArrayCount:10];
}

- (void)freeMainThreadCycleArray
- (void)dealloc
{
for (uint32_t i = 0; i < m_cycleArrayCount; i++) {
if (g_mainThreadStackCycleArray[i] != NULL) {
free(g_mainThreadStackCycleArray[i]);
g_mainThreadStackCycleArray[i] = NULL;
}
}
free(g_mainThreadStackCycleArray);
g_mainThreadStackCycleArray = NULL;
}
- (void)dealloc
{
[self freeMainThreadCycleArray];
free(g_mainThreadStackCount);

if (g_mainThreadStackCycleArray != NULL) {
free(g_mainThreadStackCycleArray);
g_mainThreadStackCycleArray = NULL;
}

if (g_mainThreadStackCount != NULL) {
free(g_mainThreadStackCount);
g_mainThreadStackCount = NULL;
}

if (g_topStackAddressRepeatArray != NULL) {
free(g_topStackAddressRepeatArray);
g_topStackAddressRepeatArray = NULL;
}
}

- (void)addThreadStack:(uintptr_t *)stackArray andStackCount:(size_t)stackCount
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,14 @@
#import <objc/runtime.h>
#import "nsobject_hook.h"
#import "object_event_handler.h"
#include <pthread/pthread.h>

#if __has_feature(objc_arc)
#error This file must be compiled with MRR. Use -fno-objc-arc flag.
#endif

extern mach_port_t g_matrix_block_monitor_dumping_thread_id;

#pragma mark -
#pragma mark NSObject ObjectEventLogging

Expand All @@ -37,7 +40,10 @@ @implementation NSObject (ObjectEventLogging)
+ (id)event_logging_alloc
{
id object = [self event_logging_alloc];
nsobject_set_last_allocation_event_name(object, class_getName(self.class));
if (pthread_mach_thread_np(pthread_self()) == g_matrix_block_monitor_dumping_thread_id) {
return object;
}
nsobject_set_last_allocation_event_name(object, class_getName(self.class));
return object;
}

Expand Down
Loading

0 comments on commit d05714e

Please sign in to comment.