android studio 升级到 3.5.0,遇到的问题和解决方案

     一直忙于开发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
发布了13 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/old_land/article/details/101099889