某日打开AS,遇到升级3.1.3的提示,左右闲来无事,点了即刻升级,升级之后遇到了问题不少,在此做个记录。
1.会提示依赖的compile 已经被弃用,需要更换为“implementation”或者是“api”
Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’.`
直接更改即可。
2.异常如下:
引发此异常的原因应该是多种的,我这里出现的原因是依赖的library与主module重复依赖了一个库,把主module里的依赖删除即可。
3.这个问题困扰我的时间最久:Aapt2Exception ,具体信息如下:
Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462) at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79) at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 1 more Caused by: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:443) at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:395) at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:312) at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)先后查了很多的博客,附录里第二篇里的那位道友也遇到了这样的异常,但是不论是删除.9图,还是其他的什么操作,都是无效的,最后是gradle.properties里加上一句话:android.enableAapt2=true
然后如下图,清理缓存,并重启AS,这次便build成功了。
升级3.1.3遇到的问题是多种多样的,以后会慢慢补充。
其他相关博客: