AndroidStudio构建常见错误解答解决思路

时间:2022-01-29 15:03:13

一、Error:Configuration with name 'default' not found.解决思路

出现这问题的原因是你依赖的工程没有make project,意思是你导入项目的工程没有正确编译通过。

解决办法很巧妙,你可能是直接在android studio里将别的成功使用的项目里该依赖的工程拷贝到你现在的项目,但是你有没有发现你拷贝不完全,没有把很多文件拷贝进去,你应该从成功使用的项目里文件夹里拷贝到你现在的项目的文件夹里,在同步android studio,你发现拷贝完全了,再次编译就能通过了。这是我下项目中遇到的一中情况,希望对同学们有所帮助,有不对的地方敬请指教哦O(∩_∩)O

二、Error:(2, 0):Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory

错误原因:gradle和maven版本不兼容。当你使用的Gradle版本是2.4和2.4以上版本时,Android插件版本是1.3.0以上的时候就会出现这个问题,这时候我们需在全局的 build.gradle 文件中的插件版本添加一行classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.3’需要注意的是,这里修改完成后。可能AS会去帮我们下载该项目配置所需要用到的jar包之类的东西,我们需要做的是耐心等待。还有一种办法是降低Gradle的版本降到2.4以下的版本。因为 ‘com.github.dcendents:android-maven-gradle-plugin:1.2’只支持gradle2.4以下的版本

另一种可能是classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.3中少了gradle关键字符。如果是classpath ‘com.github.dcendents:android-maven-plugin:1.3也会出现 “Error:Cause:org/gradle/api/publication/maven/internal/DefaultMavenFactory”这种问题

三、Error:(47, 0) No such property: sonatypeRepo for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer。

这种问题一般是出现在导入一些开源项目的时候。原因为该项目的原作者会把项目发布到maven*仓库中,所以在gradle中添加了相关的maven发布任务,而发布任务需要配置username(找不到username也是同样的问题)或sonatypeRepo等属性的值,作者是不会把这些值上传的,所以导致找不到这些属性。你不是该项目的作者,自然不需要这些任务,最干净的方法是把这些任务及引用的maven, signing插件的声明删除即可。当然,你也可以在gradle.properties中添加上找不到的这些属性的值以通过编译。

比如我在gradle.properties中添加上:

//To fix compile error. 这里的三个变量名根据uploadArchives中所引用的变//量名不同,具体看情况而配置。
sonatypeRepo=null
sonatypeUsername=null
sonatypePassword=null

四、No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题

如果在刚够构建Android Studio项目的时候,运行发现,出现没找到资源的错误!找不到com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml

/路径/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml
Error:Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

这是API 23(Android 6.0)中的资源文件,而查看build.gradle,编译的SDK只是为21,我们可以尝试将compileSdkVersion设为23(如果sdk里面没有下载API 23的,则需要下载),问题解决!

如果不想下载API 23怎么解决呢?降低appcompat的版本:将build.gradle里面的dependencies对应的appcompat版本降低:

AndroidStudio构建常见错误解答解决思路

将compile 'com.android.support:appcompat-v7:23.0.1'的版本改为:'com.android.support:appcompat-v7:22.2.1'