├── README.md ├── systrace-android-aspectj ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ └── layout │ │ │ │ └── activity_main.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── sample │ │ │ │ └── systrace │ │ │ │ ├── TestIgnoreFile.java │ │ │ │ ├── TraceTagAspectj.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── SampleApplication.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── matrix │ │ └── tencent │ │ └── com │ │ └── matrix_android │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── app.iml ├── settings.gradle ├── SampleClass ├── Sample.dex ├── Sample.class └── Sample.java ├── doucments ├── AspectJ程序设计指南.pdf ├── Dalvik and ART.pdf └── Understanding the Davlik Virtual Machine.pdf ├── .gitignore ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── local.properties ├── gradle.properties ├── gradlew.bat └── gradlew /README.md: -------------------------------------------------------------------------------- 1 | # Chapter27 2 | 利用AspectJ实现插桩的例子 3 | -------------------------------------------------------------------------------- /systrace-android-aspectj/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /build 3 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':systrace-android-aspectj' 2 | -------------------------------------------------------------------------------- /SampleClass/Sample.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/SampleClass/Sample.dex -------------------------------------------------------------------------------- /SampleClass/Sample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/SampleClass/Sample.class -------------------------------------------------------------------------------- /doucments/AspectJ程序设计指南.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/doucments/AspectJ程序设计指南.pdf -------------------------------------------------------------------------------- /doucments/Dalvik and ART.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/doucments/Dalvik and ART.pdf -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .DS_Store 5 | **/build/ 6 | /captures 7 | **/.externalNativeBuild/ 8 | .idea/ -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Chapter27 3 | 4 | -------------------------------------------------------------------------------- /doucments/Understanding the Davlik Virtual Machine.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/doucments/Understanding the Davlik Virtual Machine.pdf -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/systrace-android-aspectj/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/systrace-android-aspectj/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/systrace-android-aspectj/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/systrace-android-aspectj/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndroidAdvanceWithGeektime/Chapter27/HEAD/systrace-android-aspectj/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /SampleClass/Sample.java: -------------------------------------------------------------------------------- 1 | 2 | public class Sample { 3 | private static final char[] DATA = { 4 | 'A','m','b','e','r', 5 | ' ','u','s','e','s', ' ', 6 | 'A','n','d','r','o','i','d' 7 | }; 8 | 9 | public void test() { 10 | System.out.print("I am a test sample!"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/java/com/sample/systrace/TestIgnoreFile.java: -------------------------------------------------------------------------------- 1 | package com.sample.systrace; 2 | 3 | public class TestIgnoreFile { 4 | public static void TestGc() { 5 | for (int i = 0; i < 10000; i ++) { 6 | TestInner(); 7 | } 8 | } 9 | 10 | private static void TestInner() { 11 | int[] test = new int[10000]; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Wed Dec 19 23:27:56 CST 2018 8 | ndk.dir=/Users/uc/Library/Android/sdk/ndk-bundle 9 | sdk.dir=/Users/uc/Library/Android/sdk 10 | -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /systrace-android-aspectj/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |