java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE 和 javax.xml.bind.JAXB

先说下环境:

项目是老项目

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版本就可以了。

 

转自:java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE 和 javax.xml.bind.JAXBException问题处理 - 一只呆萌的萌呆 - 博客园

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值