前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【错误记录】Android Studio 配置 AspectJ 报错 ( all buildscript {} blocks must appear before any plugins {} )

【错误记录】Android Studio 配置 AspectJ 报错 ( all buildscript {} blocks must appear before any plugins {} )

作者头像
韩曙亮
发布于 2023-03-29 09:28:57
发布于 2023-03-29 09:28:57
48300
代码可运行
举报
运行总次数:0
代码可运行

文章目录

一、报错信息


Android Studio 配置 AspectJ 报错 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Build file 'D:\002_Project\002_Android_Learn\AOP_Demo\app\build.gradle' line: 5

Could not compile build file 'D:\002_Project\002_Android_Learn\AOP_Demo\app\build.gradle'.
> startup failed:
  build file 'D:\002_Project\002_Android_Learn\AOP_Demo\app\build.gradle': 5: all buildscript {} blocks must appear before any plugins {} blocks in the script

二、解决方案


错误原因 : 在 Module 下的 build.gradle 中 , 进行了如下配置 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plugins {
    id 'com.android.application'
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.aspectj:aspectjtools:1.8.10'
        classpath 'org.aspectj:aspectjweaver:1.8.10'
    }
}

android {
}
... 

Gradle 配置中要求 , buildscript {} 配置必须在所有的 plugins {} 配置之前 ;

修改方案一 :buildscript 配置放在脚本的最前面 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.aspectj:aspectjtools:1.8.10'
        classpath 'org.aspectj:aspectjweaver:1.8.10'
    }
}

plugins {
    id 'com.android.application'
}

修改方案二 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plugins {
    id 'com.android.application'
}

配置 , 修改为 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apply plugin: 'com.android.application'

最终效果为 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apply plugin: 'com.android.application'


buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.aspectj:aspectjtools:1.8.10'
        classpath 'org.aspectj:aspectjweaver:1.8.10'
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:\xxx\aspectjtools-1.8.10.jar. )
在 Android Studio 中配置 AspectJ , 配置后的 Module 下的 build.gradle 如下 : 这是在 AS 中配置 AspectJ 的固定配置 ;
韩曙亮
2023/03/29
1.5K0
【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:\xxx\aspectjtools-1.8.10.jar. )
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
首先 , 参考 【AOP 面向切面编程】AOP 简介 ( AspectJ 简介 | AspectJ 下载 ) 三、AspectJ 下载 博客 , 下载 AspectJ ;
韩曙亮
2023/03/29
3.2K0
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
Android使用AspectJ
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,它可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。
没关系再继续努力
2021/12/06
1.6K0
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 编译 VirtualAppEx 源码时 , 报如下错误 : Gradle 'VirtualAppEx-master' project refresh failed Error:Connection timed out: connect 使用 gradlew assembleDebug --stacktrace 命令 , 查看详细报错信息 : D:\002_Project\002_Android_Learn\VirtualApp\003_Vir
韩曙亮
2023/03/29
5930
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
Android--AOP架构设计之使用AspectJ监测方法耗时
AspectJ是一个客户端,拥有自己的编译器,所以要在Gradle中指定,使用AspectJ的编译器进行编译
aruba
2021/12/06
1K0
Android--AOP架构设计之使用AspectJ监测方法耗时
Android进阶资深开发必备技能-切面编程
切面编程听起来可能有点陌生,不过现在越来越多的开发团队正在用上这种技术。 先说熟悉的面向对象编程 OOP,通常都是用各种对象/模块来负责具体的功能,互相之间尽量不耦合。 切面编程AOP(aspect-priented programming)是为了解决OOP中耦合无法解除的问题而产生的。
PhoenixZheng
2018/08/07
7770
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
起因 : 需要配置 Android 高性能音频 Oboe 函数库 , 参考 https://github.com/google/oboe/blob/master/docs/GettingStarted.md 文档 , 使用预构建的二进制库和头文件 , 需要配置如下配置 :
韩曙亮
2023/03/28
2.6K0
【错误记录】Android Studio 中 build.gradle 配置  buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
面向切面编程AspectJ在Android埋点的实践
在项目开发中,对 App 客户端重构后,发现用于统计用户行为的友盟统计代码和用户行为日志记录代码分散在各业务模块中,比如在某个模块,要想实现对用户的行为一和行为二进行统计,因此按照OOP面向对象编程思想,就需要把友盟统计的代码以强依赖的形式写入相应的模块中,这样会造成项目业务逻辑混乱,并且不利于对外提供SDK。因此,通过研究发现,在Android项目中,可以使用AOP面向切面编程思想,把项目中所有的友盟统计代码,从各个业务模块提取出来,统一放到一个模块里面,这样就可以避免我们提供的SDK中包含用户不需要的友盟SDK及其相关代码。
xiangzhihong
2022/11/30
1K0
Android面向切面AOP架构设计简析
按照惯例,谈一个框架时我们先说明一下这东西到底是啥、干什么的,首先AOP面向切面和我们通常意义上写的代码不太一样,Java是OOP面向对象,所有的代码都是符合某个功能的,是分门别类好的,但是我们在实际的安卓开发过程中OOP的设计思想是比较难处理一些问题的,比如模块埋点、鉴权以及一些简单但是重复性比较高的代码,如我们要查看个人资料页面就必须先登录,查看个人消息也需要登录。
萬物並作吾以觀復
2018/10/10
7610
Android面向切面AOP架构设计简析
AspectJ在android上的开发
Android上运用AOP的思想开发,可以快速的帮助我们简化在横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。 AspectJ实际上是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。
包子388321
2020/06/16
1.3K0
【错误记录】Android Studio 编译报错 ( kotlin library {0} was compiled with a newer kotlin compiler and not b )
其中涉及到 org.jetbrains.kotlin:kotlin-stdlib:1.7.10 依赖库 ,
韩曙亮
2023/03/30
2K0
【错误记录】Android Studio 编译报错 ( kotlin library {0} was compiled with a newer kotlin compiler and not b )
【错误记录】自定义 Gradle 插件报错 ( Could not find implementation class x for plugin x specified in jar:file )
参考 【Android Gradle 插件】自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 ) 系列博客 , 自定义 Gradle 插件 ;
韩曙亮
2023/03/30
6850
【错误记录】自定义 Gradle 插件报错 ( Could not find implementation class x for plugin x specified in jar:file )
【错误记录】Android Studio 4.2.1 编译报错 ( Kotlin 版本推荐设置 1.5.0 )
将 Android Studio 版本升级成最新的 4.2.1 版本 , 出现如下错误 ;
韩曙亮
2023/03/29
1.3K0
【错误记录】Android Studio 4.2.1 编译报错 ( Kotlin 版本推荐设置 1.5.0 )
【错误记录】Android Studio 编译报错 ( AAPT: error: failed to read PNG signature: file does not start with PN )
配置 , cruncherEnabled 配置的作用是开启 png 图片优化检查 ,
韩曙亮
2023/03/30
2.7K0
【错误记录】Android Studio 编译报错 ( AAPT: error: failed to read PNG signature: file does not start with PN )
【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
检查了下根目录下的 build.gradle 配置 , 发现只配置了 jcenter 仓库 ;
韩曙亮
2023/03/29
1.6K0
【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
简单聊聊AspectJ
考虑一个要在某些应用中实施安全策略的问题。安全性是贯穿于系统所有模块间的问题,而且每一模块都必须添加安全性才能保证整个应用的安全性,并且安全性模块自身也需要安全性. 传统的面向对象编程中,每个单元就是一个类,而类似于安全性这方面的问题,它们通常不能集中在一个类中处理因为它们横跨多个类,这就导致了代码无法重用,它们是不可靠 和不可承继的,这样可维护性差而且产生了大量代码冗余,这是我们不愿意看到的。 使用传统的编程解决此问题非常的困难而且容易产生差错,这就正是 AspectJ 发挥作用的时候了。
提莫队长
2020/06/02
1.1K0
【错误记录】编译安卓项目报错 ( AndroidMavenPlugin 错误 )
项目配置的 com.github.dcendents:android-maven-gradle-plugin 插件版本太老 ;
韩曙亮
2023/03/29
1.5K0
【错误记录】编译安卓项目报错 ( AndroidMavenPlugin 错误 )
【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )
在 dependencyResolutionManagement 脚本块 中 定义的 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 代码的含义是 解析依赖时 , 只能使用本脚本块中的 Maven 仓库 , 不能使用 Module 子项目中的依赖 ;
韩曙亮
2023/03/28
2K0
【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )
【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary )
报错的模块是 e: C:/Users/octop/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module 模块 , 就是 kotlin-stdlib-common-1.7.10.jar 依赖库 ;
韩曙亮
2023/03/30
9.4K0
【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary )
【错误记录】Flutter 报错 ( Could not read script ‘xxx\flutter_tools\gradle\app_plugin_loader.gradle‘ )
问题环境描述 : 在 电脑 A 上创建了 Flutter 应用 , 上传到了 GitHub 中 , 然后在 电脑 B 上下载该源码 , 编译时报如下错误 ;
韩曙亮
2023/03/29
8940
【错误记录】Flutter 报错 ( Could not read script ‘xxx\flutter_tools\gradle\app_plugin_loader.gradle‘ )
推荐阅读
【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:\xxx\aspectjtools-1.8.10.jar. )
1.5K0
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
3.2K0
Android使用AspectJ
1.6K0
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
5930
Android--AOP架构设计之使用AspectJ监测方法耗时
1K0
Android进阶资深开发必备技能-切面编程
7770
【错误记录】Android Studio 中 build.gradle 配置 buildFeatures prefab 错误处理 ( AS 4.1 以上开发环境 | Gradle及插件版本 )
2.6K0
面向切面编程AspectJ在Android埋点的实践
1K0
Android面向切面AOP架构设计简析
7610
AspectJ在android上的开发
1.3K0
【错误记录】Android Studio 编译报错 ( kotlin library {0} was compiled with a newer kotlin compiler and not b )
2K0
【错误记录】自定义 Gradle 插件报错 ( Could not find implementation class x for plugin x specified in jar:file )
6850
【错误记录】Android Studio 4.2.1 编译报错 ( Kotlin 版本推荐设置 1.5.0 )
1.3K0
【错误记录】Android Studio 编译报错 ( AAPT: error: failed to read PNG signature: file does not start with PN )
2.7K0
【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
1.6K0
简单聊聊AspectJ
1.1K0
【错误记录】编译安卓项目报错 ( AndroidMavenPlugin 错误 )
1.5K0
【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )
2K0
【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary )
9.4K0
【错误记录】Flutter 报错 ( Could not read script ‘xxx\flutter_tools\gradle\app_plugin_loader.gradle‘ )
8940
相关推荐
【错误记录】Android Studio 配置 AspectJ 报错 ( Failed to create Jar file C:\xxx\aspectjtools-1.8.10.jar. )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文