Android Studio编译错误总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio编译错误总结相关的知识,希望对你有一定的参考价值。

参考技术A Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':app:processMainDebugManifest'.
Caused by: java.lang.IllegalStateException: Duplicate key BuildableArtifactImpl (file collection)

解决方法:将打包渠道配置中的main修改为其他名称。

Caused by: org.gradle.api.plugins.UnknownPluginException: Plugin with id 'com.github.dcendents.android-maven' not found.
Caused by: java.lang.IllegalStateException: compileSdkVersion is not specified.

解决方法:在项目下的build.gradle中dependenceies添加:
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'

Error: Invoke-customs are only supported starting with Android O (--min-api 26) 或
Error:Default interface methods are only supported starting with Android N (--min-api 24)
解决方法:在app下build.gradle的defaultConfig下加入配置:
compileOptions
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8

Android studio 升级到4.0-4.0.1版本项目编译异常问题总结

Android studio 升级到4.0-4.0.1版本项目编译异常问题总结

1、升级以后第一个要注意的地方,gradle 版本

注意:在升级到新版本以后,项目编译一直无法编译成功,而且不输出任何有效log日志的情况下,首先要确认gradle版本是否已经切换到该Android studio 对应的版本。
如果不是对应版本,那么项目可能会一直显示 ** Configure project**,修改为对应版本后再次编译项目。

2、新版本gradle 在编译的时候 如果项目中自定义属性 attrs 中 有类似以下写法的情况,会 出现 no found resource 问题。

 <declare-styleable name="SearchRecommdView">
        <attr name="horizontalSpacing"/>
  </declare-styleable>

没有添加format 属性。添加即可。

3、builde.gradle中无法识别以下方式导入的sdk的jar 文件。

错误

    implementation files('libs/testsdk')

正确

    implementation files('libs/tesrtsdk.jar')

4、编译器更严格的检查,很多以前不规范的代码或者不影响编译的警告都有可能会影响项目的编译。

5 第三方 aar 包中代码不兼容问题

通过 unzip sdk.aar -d tempFolder 
解压aar 文件,修改对应的class或者res文件夹下的资源文件,修改完成以后
通过 jar cvf newSdk.aar -C tempFolder/ .

生成新的aar 文件进行替换即可。

以上是关于Android Studio编译错误总结的主要内容,如果未能解决你的问题,请参考以下文章

android studio笔记之编译运行错误

如何解决android studio的编译错误?

Android Studio 编译Gradle提示编码错误

使用Android Studio调试系统应用之TvSettings:再次编译,生成APK文件

错误记录Android Studio 编译信息输出乱码

Android Studio 编译错误(Gradle)