日常项目构建错误(Android)

1. gradle 进程占用

  • 使用 visualvm 工具查看 gradle 进程
  • 打开任务管理器杀死进程

2. Duplicate class 类重复

  • 排除重复模块
  • 或删除重复代码

3. as 控制台输出日志覆盖

  • as setting 修改日志缓存大小
  • 或修改配置文件bin\idea.properties 配置项idea.cycle.buffer.size
  • 重启 as

4. utf-8 序列的字节无效

  • gradle.properties 配置项 org.gradle.jvmargs 指定 UTF-8 编码

org.gradle.jvmargs=-Dfile.encoding=UTF-8

5. jvm 创建失败,内存不足

  • gradle.properties 配置项 -Xmx 调整大小

org.gradle.jvmargs=-Xmx2048m

6. as 打包控制台输出乱码

  • setting 设置编码为 utf-8

7. as gradle Task 列表为空或不完整

  • 低版本:setting 取消勾选 Do not build gradle task list during gradle syne
  • 高版本:setting 勾选 configure all gradle tasks during gradle sync
  • 重新同步一次

8. as gradle.properties 指定 jdk

org.gradle.java.home=C:\Program Files\Java\jdk-11.0.16

9. gradle 镜像地址

distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-7.6.4-bin.zip

10. manifest 位置元素 provider

  • 升级 gradle 到 6+ 版本
  • 升级 AGP 到 4+ 版本

11. androidx-work-runtime 版本较低闪退

  • 升级版本到 2.7.0 及以上
  • 或强制指定版本 2.7.0

12. more than one file 重复的文件

  • build.gradle 配置 packingOptions exclude 排除文件

13. 编译器 (1.8.0_40) 中出现异常错误

  • 升级 jdk 版本(如升级到 jdk11)

14. as 打包输出大量系统日志

  • 新增打包参数 --quiet

15. MergeJavaResWorkAction invalid block type

  • 关闭 databinding

16. You need to use a Theme.AppCompat theme (or descendant) with this activity

  • 为 Activity 设置合适的主题 android:theme="@style/Theme.AppCompat.NoActionBar"

17. namespace not specified

  • build.gradle 设置 namespace
  • 或 manifest 标签设置 package 属性

18. Unsupported version number [55.0] (maximum 54.0, Java 10)

  • 工程不要禁用 R8,gradle.properties 删除 android.enableR8=false(如有)

Caused by: java.lang.UnsupportedOperationException: Unsupported version number [55.0] (maximum 54.0, Java 10)

at proguard.classfile.util.ClassUtil.checkVersionNumbers(ClassUtil.java:150)

at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:101)

at proguard.classfile.ProgramClass.accept(ProgramClass.java:430)

at proguard.io.ClassReader.read(ClassReader.java:91)

19. javax.annotation.Nullable 找不到

  • 添加依赖 com.google.code.findbugs:jsr305:3.0.2

编译器 (17.0.12) 中出现异常错误。如果在 Bug Database (https://bugs.java.com) 中没有找到该错误,请通过 Java Bug 报告页 (https://bugreport.java.com) 建立该 Java 编译器 Bug。请在报告中附上您的程序、以下诊断信息以及传递到 Java 编译器的参数。谢谢。

com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到javax.annotation.Nullable的类文件

相关推荐
飞猿_SIR2 小时前
Android Exoplayer 实现多个音视频文件混合播放以及音轨切换
android·音视频
HumoChen993 小时前
GZip+Base64压缩字符串在ios上解压报错问题解决(安卓、PC模拟器正常)
android·小程序·uniapp·base64·gzip
沙振宇7 小时前
【HarmonyOS】ArkTS开发应用的横竖屏切换
android·华为·harmonyos
橙子199110169 小时前
Kotlin 中的作用域函数
android·开发语言·kotlin
zimoyin9 小时前
Kotlin 懒初始化值
android·开发语言·kotlin
枣伊吕波10 小时前
第六节第二部分:抽象类的应用-模板方法设计模式
android·java·设计模式
萧然CS10 小时前
使用ADB命令操作Android的apk/aab包
android·adb
_extraordinary_14 小时前
MySQL 事务(二)
android·数据库·mysql
鸿蒙布道师18 小时前
鸿蒙NEXT开发动画案例5
android·ios·华为·harmonyos·鸿蒙系统·arkui·huawei
橙子199110161 天前
在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
android·开发语言·kotlin