From e4e2124b46d7f0b089947b02a995ce07f5484b81 Mon Sep 17 00:00:00 2001 From: FlyJingFish Date: Mon, 18 Nov 2024 21:20:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E5=88=87=E9=9D=A2=E4=B9=9F=E6=9B=BF=E6=8D=A2super=E5=92=8C?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E6=96=B9=E6=B3=95=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MethodReplaceInvokeAdapter.kt | 12 +++++++++-- .../flyjingfish/androidaop/MainActivity.kt | 3 +++ .../androidaop/testReplace/BaseBean.java | 19 +++++++++++++++++ .../androidaop/testReplace/BeanH.java | 12 +++++++++++ .../androidaop/testReplace/ReplaceBaseBean.kt | 19 +++++++++++++++++ .../testReplace/ReplaceBaseBean2.java | 21 +++++++++++++++++++ 6 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/flyjingfish/androidaop/testReplace/BaseBean.java create mode 100644 app/src/main/java/com/flyjingfish/androidaop/testReplace/BeanH.java create mode 100644 app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean.kt create mode 100644 app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean2.java diff --git a/android-aop-plugin/src/main/kotlin/com/flyjingfish/android_aop_plugin/scanner_visitor/MethodReplaceInvokeAdapter.kt b/android-aop-plugin/src/main/kotlin/com/flyjingfish/android_aop_plugin/scanner_visitor/MethodReplaceInvokeAdapter.kt index 0e1fe991..94748bf2 100644 --- a/android-aop-plugin/src/main/kotlin/com/flyjingfish/android_aop_plugin/scanner_visitor/MethodReplaceInvokeAdapter.kt +++ b/android-aop-plugin/src/main/kotlin/com/flyjingfish/android_aop_plugin/scanner_visitor/MethodReplaceInvokeAdapter.kt @@ -62,6 +62,8 @@ class MethodReplaceInvokeAdapter(private val className:String,private val superN descriptor: String, isInterface: Boolean ) { + val isInMethodInner = opcode == Opcodes.INVOKESPECIAL && owner == superName && name == methodName && descriptor == methodDesc + var replaceMethodInfo = getReplaceInfo(owner, name, "") var isReplaceClass = replaceMethodInfo != null && replaceMethodInfo.replaceType == ReplaceMethodInfo.ReplaceType.NEW && replaceMethodInfo.newClassName.isNotEmpty() if (!isReplaceClass){ @@ -91,10 +93,16 @@ class MethodReplaceInvokeAdapter(private val className:String,private val superN } else { descriptor.replace("(", "(L${replaceMethodInfo.oldOwner};") == replaceMethodInfo.newMethodDesc || descriptor.replace("(", "(Ljava/lang/Object;") == replaceMethodInfo.newMethodDesc } - if (shouldReplace) { + if (shouldReplace && !isInMethodInner) { + val isThisInit = owner == className && methodName == "" && methodName == name + val isInitAop = replaceMethodInfo.replaceType == ReplaceMethodInfo.ReplaceType.INIT + if (isInitAop && isThisInit){ + super.visitMethodInsn(opcode, owner, name, descriptor, isInterface) + return + } if (replaceMethodInfo.replaceType == ReplaceMethodInfo.ReplaceType.NEW && replaceMethodInfo.isCallNew()) { super.visitMethodInsn(opcode, replaceMethodInfo.newClassName, name, descriptor, isInterface) - }else if (replaceMethodInfo.replaceType == ReplaceMethodInfo.ReplaceType.INIT) { + }else if (isInitAop) { super.visitMethodInsn(opcode, owner, name, descriptor, isInterface) } InitConfig.addReplaceMethodInfo(replaceMethodInfo) diff --git a/app/src/main/java/com/flyjingfish/androidaop/MainActivity.kt b/app/src/main/java/com/flyjingfish/androidaop/MainActivity.kt index 9f204b9b..e27e03a7 100644 --- a/app/src/main/java/com/flyjingfish/androidaop/MainActivity.kt +++ b/app/src/main/java/com/flyjingfish/androidaop/MainActivity.kt @@ -27,6 +27,7 @@ import com.flyjingfish.androidaop.test2.StaticClass import com.flyjingfish.androidaop.test.TestBean import com.flyjingfish.test_lib.mycut.TestParams import com.flyjingfish.androidaop.test.TestReplace +import com.flyjingfish.androidaop.testReplace.BaseBean import com.flyjingfish.test_lib.BaseActivity import com.flyjingfish.test_lib.annotation.MyAnno3 import com.flyjingfish.test_lib.PermissionRejectListener @@ -76,6 +77,8 @@ class MainActivity: BaseActivity2(), PermissionRejectListener{ } }) + val bbean = BaseBean(0,0) + bbean.test() // binding.btnIOThread.setOnClickListener { // onIOThread() // } diff --git a/app/src/main/java/com/flyjingfish/androidaop/testReplace/BaseBean.java b/app/src/main/java/com/flyjingfish/androidaop/testReplace/BaseBean.java new file mode 100644 index 00000000..e7f0e7c0 --- /dev/null +++ b/app/src/main/java/com/flyjingfish/androidaop/testReplace/BaseBean.java @@ -0,0 +1,19 @@ +package com.flyjingfish.androidaop.testReplace; + +public class BaseBean { + int num1; + int num2; + + public BaseBean(int num1, int num2) { + this.num1 = num1; + this.num2 = num2; + } + + public BaseBean(int num1) { + this(num1,0); + } + + public void test(){ + + } +} diff --git a/app/src/main/java/com/flyjingfish/androidaop/testReplace/BeanH.java b/app/src/main/java/com/flyjingfish/androidaop/testReplace/BeanH.java new file mode 100644 index 00000000..b510d8f3 --- /dev/null +++ b/app/src/main/java/com/flyjingfish/androidaop/testReplace/BeanH.java @@ -0,0 +1,12 @@ +package com.flyjingfish.androidaop.testReplace; + +public class BeanH extends BaseBean{ + public BeanH(int num1, int num2) { + super(num1, num2); + } + + @Override + public void test() { + super.test(); + } +} diff --git a/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean.kt b/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean.kt new file mode 100644 index 00000000..4b03022e --- /dev/null +++ b/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean.kt @@ -0,0 +1,19 @@ +package com.flyjingfish.androidaop.testReplace + +import com.flyjingfish.android_aop_annotation.anno.AndroidAopReplaceClass +import com.flyjingfish.android_aop_annotation.anno.AndroidAopReplaceMethod + +//@AndroidAopReplaceClass("com.flyjingfish.androidaop.testReplace.BaseBean") +object ReplaceBaseBean { + @AndroidAopReplaceMethod("(int,int)") + @JvmStatic + fun getBaseBean(testBean: BaseBean) : BaseBean { + return testBean + } + + @AndroidAopReplaceMethod("void test()") + @JvmStatic + fun test(testBean: BaseBean){ + testBean.test() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean2.java b/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean2.java new file mode 100644 index 00000000..67fc5804 --- /dev/null +++ b/app/src/main/java/com/flyjingfish/androidaop/testReplace/ReplaceBaseBean2.java @@ -0,0 +1,21 @@ +package com.flyjingfish.androidaop.testReplace; + +import android.util.Log; + +import com.flyjingfish.android_aop_annotation.anno.AndroidAopReplaceClass; +import com.flyjingfish.android_aop_annotation.anno.AndroidAopReplaceMethod; + +@AndroidAopReplaceClass("com.flyjingfish.androidaop.testReplace.BaseBean") +public class ReplaceBaseBean2 { + @AndroidAopReplaceMethod("(int,int)") + public static BaseBean getBaseBean(BaseBean testBean) { + Log.e("ReplaceBaseBean2","getBaseBean"); + return testBean; + } + + @AndroidAopReplaceMethod("void test()") + public static void test(BaseBean testBean){ + Log.e("ReplaceBaseBean2","test"); + testBean.test(); + } +} From bb0090a08b682289b20c48d4651d408a31c096f9 Mon Sep 17 00:00:00 2001 From: FlyJingFish Date: Mon, 18 Nov 2024 21:29:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +++++++------- README_EN.md | 14 +++++++------- docs/android_aop_extra.md | 4 ++-- docs/getting_started.md | 28 ++++++++++++++-------------- docs/zh/android_aop_extra.md | 4 ++-- docs/zh/getting_started.md | 28 ++++++++++++++-------------- gradle.properties | 2 +- version.properties | 4 ++-- 8 files changed, 49 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 40d5e379..1962b537 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ plugins { //必须项 👇 apply 设置为 true 自动为所有module“预”配置debugMode,false则按下边步骤五的方式二 - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" apply true + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" apply true } ```
@@ -134,7 +134,7 @@ buildscript { dependencies { //必须项 👇 - classpath 'io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7' + classpath 'io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8' } } // 👇加上这句自动为所有module“预”配置debugMode,不加则按下边步骤五的方式二 @@ -189,7 +189,7 @@ //必须项 👇 plugins { ... - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7"//最好放在最后一行 + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8"//最好放在最后一行 } ``` @@ -215,18 +215,18 @@ plugins { dependencies { //必须项 👇 - implementation 'io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7' + implementation 'io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8' //非必须项 👇这个包提供了一些常见的注解切面 - implementation 'io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7' + implementation 'io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8' //必须项 👇如果您项目内已经有了这项不用加也可以 implementation 'androidx.appcompat:appcompat:1.3.0' // 至少在1.3.0及以上 //非必须项 👇,如果你想自定义切面需要用到,⚠️支持Java和Kotlin代码写的切面 - ksp 'io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7' + ksp 'io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8' //非必须项 👇,如果你想自定义切面需要用到,⚠️只适用于Java代码写的切面 - annotationProcessor 'io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7' + annotationProcessor 'io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8' //⚠️上边的 android-aop-ksp 和 android-aop-processor 二选一 } ``` diff --git a/README_EN.md b/README_EN.md index 36991989..722b0782 100644 --- a/README_EN.md +++ b/README_EN.md @@ -121,7 +121,7 @@ Depend on the plug-in in build.gradle in the project root d plugins { //Required item 👇 apply is set to true to automatically apply debugMode to all modules, if false, follow step 5 below. - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" apply true + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" apply true } ```
@@ -131,7 +131,7 @@ Depend on the plug-in in build.gradle in the project root d buildscript { dependencies { //Required items 👇 - classpath 'io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7' + classpath 'io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8' } } //👇Add this sentence to automatically apply debugMode to all modules. If not, follow step 5 below. @@ -179,7 +179,7 @@ Depend on the plug-in in build.gradle in the project root d //Required items 👇 plugins { ... - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" } ``` @@ -209,17 +209,17 @@ plugins { dependencies { //Required items 👇 - implementation 'io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7' + implementation 'io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8' //Optional 👇This package provides some common annotation aspects - implementation 'io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7' + implementation 'io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8' //Required item 👇If you already have this item in your project, you don’t need to add it. implementation 'androidx.appcompat:appcompat:1.3.0' // At least in 1.3.0 and above //Optional 👇, if you want to customize aspects, you need to use them, ⚠️supports aspects written in Java and Kotlin code - ksp 'io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7' + ksp 'io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8' //Optional 👇, if you want to customize aspects, you need to use them, ⚠️only applies to aspects written in Java code - annotationProcessor 'io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7' + annotationProcessor 'io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8' //⚠️Choose one of the above android-aop-ksp and android-aop-processor } ``` diff --git a/docs/android_aop_extra.md b/docs/android_aop_extra.md index b775843b..9ebb4dbd 100644 --- a/docs/android_aop_extra.md +++ b/docs/android_aop_extra.md @@ -6,7 +6,7 @@ ```groovy dependencies { //Optional 👇This package provides some common annotation aspects - implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8" } ``` @@ -15,7 +15,7 @@ ```kotlin dependencies { //Optional 👇This package provides some common annotation aspects - implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8") } ``` diff --git a/docs/getting_started.md b/docs/getting_started.md index 7365960f..68628888 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -28,7 +28,7 @@ Depend on the plug-in in `build.gradle` in the **project root directory** plugins { //👇Required item (1)👈 apply is set to true to automatically apply debugMode to all modules, if false, follow step 5 below. - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" apply true + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" apply true } ``` @@ -40,7 +40,7 @@ Depend on the plug-in in `build.gradle` in the **project root directory** buildscript { dependencies { //👇equired items (1)👈 - classpath "io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7" + classpath "io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8" } } //👇Add this sentence to automatically apply debugMode to all modules. If not, follow step 5 below. @@ -56,7 +56,7 @@ Depend on the plug-in in `build.gradle` in the **project root directory** plugins { //👇Required item (1)👈 apply is set to true to automatically apply debugMode to all modules, if false, follow step 5 below. - id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.7" apply true + id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.8" apply true } ``` @@ -68,7 +68,7 @@ Depend on the plug-in in `build.gradle` in the **project root directory** buildscript { dependencies { //👇Required items (1)👈 - classpath("io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7") + classpath("io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8") } } //👇Add this sentence to automatically apply debugMode to all modules. If not, follow step 5 below. @@ -136,7 +136,7 @@ Add in `build.gradle` of **app** //Required items 👇 plugins { ... - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" } ``` @@ -146,7 +146,7 @@ Add in `build.gradle` of **app** //Required items 👇 plugins { ... - id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.7" + id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.8" } ``` @@ -189,17 +189,17 @@ Add in `build.gradle` of **app** dependencies { //👇Required items - implementation "io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8" //👇Optional (1)👈 This package provides some common annotation aspects - implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8" //👇Required item If you already have this item in your project, you don’t need to add it. implementation "androidx.appcompat:appcompat:1.3.0" // At least in 1.3.0 and above //👇Optional (2)👈Click + to view detailed description, ⚠️supports aspects written in Java and Kotlin code - ksp "io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7" + ksp "io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8" //👇Optional (3)👈Click + to view detailed description, ⚠️only applies to aspects written in Java code - annotationProcessor "io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7" + annotationProcessor "io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8" //⚠️Choose one of the above android-aop-ksp and android-aop-processor } ``` @@ -218,17 +218,17 @@ Add in `build.gradle` of **app** dependencies { //👇Required items - implementation("io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8") //👇Optional (1)👈 This package provides some common annotation aspects - implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8") //👇Required item If you already have this item in your project, you don’t need to add it. implementation("androidx.appcompat:appcompat:1.3.0") // At least in 1.3.0 and above //👇Optional (2)👈Click + to view detailed description, ⚠️supports aspects written in Java and Kotlin code - ksp("io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7") + ksp("io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8") //👇Optional (3)👈Click + to view detailed description, ⚠️only applies to aspects written in Java code - annotationProcessor("io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7") + annotationProcessor("io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8") //⚠️Choose one of the above android-aop-ksp and android-aop-processor } ``` diff --git a/docs/zh/android_aop_extra.md b/docs/zh/android_aop_extra.md index ec975758..f84af72f 100644 --- a/docs/zh/android_aop_extra.md +++ b/docs/zh/android_aop_extra.md @@ -6,7 +6,7 @@ ```groovy dependencies { //非必须项 👇这个包提供了一些常见的注解切面 - implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8" } ``` @@ -15,7 +15,7 @@ ```kotlin dependencies { //非必须项 👇这个包提供了一些常见的注解切面 - implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8") } ``` diff --git a/docs/zh/getting_started.md b/docs/zh/getting_started.md index c2db7da7..58154d11 100644 --- a/docs/zh/getting_started.md +++ b/docs/zh/getting_started.md @@ -30,7 +30,7 @@ plugins { //👇必须项 (1)👈 apply 设置为 true 自动为所有module“预”配置debugMode,false则按下边步骤五的方式二 - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7" apply true + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8" apply true } ``` @@ -41,7 +41,7 @@ buildscript { dependencies { //👇必须项 (1)👈 - classpath "io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7" + classpath "io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8" } } // 👇加上这句自动为所有module“预”配置debugMode,不加则按下边步骤五的方式二 @@ -57,7 +57,7 @@ ```kotlin plugins { //👇必须项 (1)👈 apply 设置为 true 自动为所有module“预”配置debugMode,false则按下边步骤五的方式二 - id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.7" apply true + id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.8" apply true } ``` @@ -68,7 +68,7 @@ buildscript { dependencies { //👇必须项 (1)👈 - classpath("io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.7") + classpath("io.github.FlyJingFish.AndroidAop:android-aop-plugin:2.2.8") } } // 👇加上这句自动为所有module“预”配置debugMode,不加则按下边步骤五的方式二 @@ -137,7 +137,7 @@ //必须项 👇 plugins { ... - id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.7"//最好放在最后一行 + id "io.github.FlyJingFish.AndroidAop.android-aop" version "2.2.8"//最好放在最后一行 } ``` @@ -147,7 +147,7 @@ //必须项 👇 plugins { ... - id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.7"//最好放在最后一行 + id("io.github.FlyJingFish.AndroidAop.android-aop") version "2.2.8"//最好放在最后一行 } ``` @@ -185,18 +185,18 @@ dependencies { //👇必须项 - implementation "io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8" //👇非必须项 (1)👈 这个包提供了一些常见的注解切面 - implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7" + implementation "io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8" //👇必须项 如果您项目内已经有了这项不用加也可以 implementation "androidx.appcompat:appcompat:1.3.0" // 至少在1.3.0及以上 //👇非必须项 (2)👈点击+查看详细说明,⚠️支持Java和Kotlin代码写的切面 - ksp "io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7" + ksp "io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8" //👇非必须项 (3)👈点击+查看详细说明,⚠️只适用于Java代码写的切面 - annotationProcessor "io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7" + annotationProcessor "io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8" //⚠️上边的 android-aop-ksp 和 android-aop-processor 二选一 } @@ -215,18 +215,18 @@ dependencies { //👇必须项 - implementation("io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-core:2.2.8") //👇非必须项 (1)👈 这个包提供了一些常见的注解切面 - implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.7") + implementation("io.github.FlyJingFish.AndroidAop:android-aop-extra:2.2.8") //👇必须项 如果您项目内已经有了这项不用加也可以 implementation("androidx.appcompat:appcompat:1.3.0") // 至少在1.3.0及以上 //👇非必须项 (2)👈点击+查看详细说明,⚠️支持Java和Kotlin代码写的切面 - ksp("io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.7") + ksp("io.github.FlyJingFish.AndroidAop:android-aop-ksp:2.2.8") //👇非必须项 (3)👈点击+查看详细说明,⚠️只适用于Java代码写的切面 - annotationProcessor("io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.7") + annotationProcessor("io.github.FlyJingFish.AndroidAop:android-aop-processor:2.2.8") //⚠️上边的 android-aop-ksp 和 android-aop-processor 二选一 } ``` diff --git a/gradle.properties b/gradle.properties index fda4d068..d1820314 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,7 +41,7 @@ DEVELOPER_ID=FlyJingFish DEVELOPER_NAME=FlyJingFish DEVELOPER_EMAIL=749617782@qq.com -TestVersion = 2.2.7 +TestVersion = 2.2.8 SonatypeTestCode = 1573 # 0 mavenLocal 1 SonatypeCache 2 mavenCentral TestType = 0 diff --git a/version.properties b/version.properties index d89bed2c..26ad9cd3 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -#Thu Nov 14 19:03:56 CST 2024 -PROJ_VERSION=2.2.7 +#Mon Nov 18 21:22:56 CST 2024 +PROJ_VERSION=2.2.8