android studio 升級到 3.5.0,遇到的問題和解決方案

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/old_land/article/details/101099889
     一直忙於開發as一直沒有升級,這幾天有時間正好as發佈新版本3.5.0,把as升級的到3.5.0也遇到一系列問題,在這裏發問題分享一下,大家可以借鑑一下。

1、依賴包的引用問題

(1)compile  不推薦使用 ,api 是和compile完全等效的,怕出問題的話可以用api替換,表示其他的模塊也可以引用。

如果確定只在本模塊中引用可以用 implementation替換,module中可以完全用implementation,library看情況而定。

(2)testCompile 用 testimplementation替換。

(3)instrumentTest 用 androidTest替換

2、項目的gradle 把gradle和plugin升級到最新版

 classpath 'com.android.tools.build:gradle:3.5.0'
 classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
kotlin_version可以升級到 '1.3.41'

gradle中引用implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"替換爲
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

3、gradle升級 Minimum supported Gradle version is 5.4.1. Current version is 4.1.

可以下載gradle 5.4.1本地引用,也可以在設置中使用 as推薦的 Use Default gradle wrapper

4、清單文件設置  AndroidManifest

移除清單文件中user-sdk設置。

5、設置各個library中的minsdk和targetsdk,最好和主項目中的一致

6、AAPT: error: unexpected element <uses-sdk> found in <manifest><application>.

原因是在清單文件中的application中引用的<users-sdk>,不規範使用,造成清單文件無法mager,編譯不通過。在找了項目中的所用清單文件後沒有發現這個問題。最後在一個引用的.aar文件中發現了這個問題,把.aar改爲.zip解壓修改後再改成.aar就好了。

7、Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.

原因是library中的compile改爲implementation後住moudle無法調用引起的,改爲api就行了。

8、as在編譯過程中報OOM,gc什麼的問題,好像as 3.5.0對內存要求更高了。

在gradle.properties加入以下配置視自己電腦配置而定:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
————————————————
版權聲明:本文爲CSDN博主「old_land」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/old_land/article/details/101099889

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章