高版本gradle集成aspectj

之前低版本gradle集成aspectj可以成功,但是最近用gradle7.3以上去集成时一直报错,提示找不到插件。尝试了很久,最终找到了解决方案,这里记录下。

由于android-aspectj 原作者不维护了,现在高版本的支持插件是

arduino 复制代码
'io.github.wurensen.android-aspectjx'

下面是新插件具体的集成步骤:

  • 在project 工程目录下的build.gradle中添加
arduino 复制代码
classpath 'io.github.wurensen:gradle-android-plugin-aspectjx:3.3.2'
  • 在app的build.gradle中添加,注意一定要放在application插件的下方,否则会报错
arduino 复制代码
apply plugin: 'io.github.wurensen.android-aspectjx'
  • 在library的build.gradle中添加(组件开发模式中,需要放在需要开启aop的模块中)
arduino 复制代码
implementation 'org.aspectj:aspectjrt:1.9.7'

下面是全部代码:

project build.gradle

arduino 复制代码
buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
        mavenCentral()

        //jcenter()
    }
    dependencies {
        
        classpath 'com.android.tools.build:gradle:7.3.1'
       
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.10'
       
        classpath 'io.github.wurensen:gradle-android-plugin-aspectjx:3.3.2'
    }
}

app build.gradle

arduino 复制代码
apply plugin: 'com.android.application'
apply plugin: 'io.github.wurensen.android-aspectjx'
apply plugin: 'kotlin-android'

android {
    
    compileSdkVersion 34
    buildToolsVersion "34.0.0"
    defaultConfig {
        targetSdkVersion 34
        minSdkVersion 31
       
    }
 
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    **** 
   
}
 dependencies {
     **** 
 }

library build.gradle

bash 复制代码
plugins {
    id 'com.android.library'
    id 'org.jetbrains.kotlin.android'
}

android {
    namespace 'com.xiaomi.xms.ai.recorder'
    compileSdk 34

    defaultConfig {
        minSdk 31

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

   *****
}

dependencies {
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'org.aspectj:aspectjrt:1.9.7'
}
相关推荐
svdo1250p1 天前
“Fatal error: require(): Failed opening required...” 以及如何彻底避免它再次出现
android·ide·android studio
帅次2 天前
LazyColumn 懒加载、items 与 key
android·flutter·kotlin·android studio·webview
克里斯蒂亚诺更新2 天前
Android Studio的运行一个简单的apk和模拟器
android·ide·android studio
克里斯蒂亚诺更新2 天前
android studio导出apk
android·ide·android studio
帅次3 天前
状态 StateFlow、ViewModel 与 UI 收集
android·kotlin·gradle·android studio·android jetpack
花花鱼3 天前
android studio 图标的使用及处理
android·ide·android studio
百锦再4 天前
Auto.js变成基础知识学习
开发语言·javascript·学习·sqlite·kotlin·android studio·数据库开发
白云LDC6 天前
Android Studio新建Vecter asset一直显示Loading icons(转圈圈)的解决办法
android·ide·android studio
怣疯knight7 天前
Windows不安装 Android Studio如何打包安卓软件
android·windows·android studio
我命由我123458 天前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime