• java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE 和 javax.xml.bind.JAXBException问题处理


    先说下环境:

    项目是老项目

    jdk用的是1.8

    然后用新版的Android Studio 3.1 雪狐版 IDE推荐使用jdk 11

    用新版的AS跑老项目出现的问题

    一、java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE

    解决方案:

    因为SDK问题,目前最新的SDK是31 也就是 Android 12, compileSdkVersion会默认是31 ,但31的SDK就会带来这个问题

    所以只需要将 compileSdkVersion 30(或以下版本就行了),但编译又出现了第二个问题就是下面这个问题

    二、error: resource android:attr/fontVariationSettings resource android:attr/ttcIndex not found.

    解决方案:

    来自知乎某解答

    原因是第三方库中引用了androidx.core:core-ktx:+,然后系统自动更新到了1.7.0版本,
    导致报错error: resource android:attr/lStar not found,有人说需要更改编译版本compileSdkVersion升级到31,并不需要。
    解决方法:方法1:全局搜索项目androidx.core:core-ktx,若没有设置具体版本的修改为具体版本就好。
    方法2:若是第三方库使用没有设置具体版本,在app的build.gradle中添加如下,强制项目使用具体的版本,解决问题
    configurations.all {
      resolutionStrategy {
    force 'androidx.core:core-ktx:1.6.0'
    }
    }

    然后也许后面会出现第三个问题。

    三、javax.xml.bind.JAXBException。

    原因JDK版本原因。可以看我这篇博客Android Studio 升级后出现javax/xml/bind/JAXBException异常问题解决

    其实就是换回1.8老项目的JDK版本就可以了。

  • 相关阅读:
    3.2.1 webpack-dev-server的使用
    打印预览及打印
    2.1.8 webpack的环境
    常用docker 启动
    github镜像
    Log解析
    【Bzoj4555】【Luogu P4091】求和(NTT)
    【Bzoj3527】【Luogu3338】[Zjoi2014]力(FFT)
    FFT实现高精度乘法
    Bzoj 2190 仪仗队(莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/woaixingxing/p/15251383.html
Copyright © 2020-2023  润新知