好的網(wǎng)站設(shè)計(jì)作品seo搜索引擎推廣什么意思
最近Android系統(tǒng)各大應(yīng)用商店聯(lián)合發(fā)出公告,處于個(gè)人隱私安全考慮,強(qiáng)制APP適配到Android 11及以上版本。下面是其中應(yīng)用市場(chǎng)的公告(順帶提醒沒(méi)適配的同學(xué)):
適配前的開(kāi)發(fā)環(huán)境
名稱 | 版本 |
---|---|
Android studio | Giraffe | 2022.3.1 |
build.gradle配置的compileOptions | JDK 1.8 |
build.gradle配置的kotlinOptions | “1.8” |
Gradle JDK版本(通過(guò)Project Structure > SDK Location > Gradle Settings配置) | JDK 1.8 |
Android Gradle Plugin版本 | 4.0.0 |
Gradle版本 | 6.1.1 |
一、錯(cuò)誤:java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE
具體報(bào)錯(cuò)信息如下圖:
操作步驟:
小編是直接將compileSdkVersion、buildToolsVersion、targetSdkVersion修改為31后通過(guò)編譯出現(xiàn)這個(gè)錯(cuò)誤。
compileSdkVersion: 31,
buildToolsVersion: "31.0.0",
minSdkVersion : 19,
targetSdkVersion : 31,
錯(cuò)誤發(fā)生原因:
具體原因暫不太清楚,猜測(cè)應(yīng)該是跟Android的compileSdk和buildTools的版本有關(guān),因?yàn)閷⒕幾g版本降級(jí)為30時(shí)沒(méi)出現(xiàn)這個(gè)錯(cuò)誤。
解決方式:
調(diào)整Gradle JDK的版本,將jdk版本由1.8升級(jí)到11,再次編譯該錯(cuò)誤解決。
二、錯(cuò)誤:java.lang.NoClassDefFoundError: javax/annotation/Generated
具體報(bào)錯(cuò)信息如下圖:
操作步驟:
設(shè)置Gradle JDK的版本為11后直接進(jìn)行編譯
錯(cuò)誤發(fā)生原因:
直觀上看是編譯時(shí)缺少javax/annotation相關(guān)的類,仔細(xì)分析錯(cuò)誤發(fā)現(xiàn)涉及到dagger庫(kù),初步認(rèn)定與dagger版本有關(guān)。
解決方式:
對(duì)dagger版本進(jìn)行升級(jí),由2.9 -> 2.47
說(shuō)明:
若不是由引入的第三方庫(kù)引起可嘗試引入javax.annotation-api
庫(kù),如下:
implementation ‘javax.annotation:javax.annotation-api:1.3.2’
annotationProcessor(“javax.annotation:javax.annotation-api:1.3.2”)
正常以小編的工程把上面兩個(gè)問(wèn)題解決就能正常編譯打包了,但是強(qiáng)迫癥迫使我與時(shí)俱進(jìn),于是將工程使用的Java版本升級(jí)到11,出現(xiàn)了新的錯(cuò)誤。
三、錯(cuò)誤: 無(wú)法訪問(wèn)ViewGroup找不到android.view.ViewGroup的類文件
詳細(xì)錯(cuò)誤如圖:
操作步驟:
設(shè)置build.gradle的compileOptions和kotlinOptions 為java 11
錯(cuò)誤發(fā)生原因:
通過(guò)錯(cuò)誤可以看出應(yīng)該跟android庫(kù)沒(méi)多少關(guān)系,真正的錯(cuò)誤原因應(yīng)該是這個(gè):
org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details
。
解決方式:
待解決(可能需要升級(jí)gradle)
,等后面有空了再研究下,先把版本適配了。
如已有解決辦法的同學(xué)歡迎在評(píng)論區(qū)留言。
擴(kuò)展:
若有同學(xué)不了解gradle JDK和build.gradle中compileOptions的區(qū)別的可以參考下面文章:
https://blog.csdn.net/hnjcxy/article/details/122902155
黑暗中摸索不易,若對(duì)你有幫助,希望能給個(gè)大贊!!!