提示:本文用于记录笔者在遇到gradle问题时的解决方案,仅供参考。
问题关键字目录
一、“Duplicate class found”
问题分析: 当build project遇到该错误时,表明你的项目中多次引用了某些库(直接引用+第三方库引用),报错日志如下图:
解决方案(之一): 在报错module的build.gradle中加入下面的配置。
android{ defaultConfig{} buildTypes{} compileOptions{} //look here!!! configurations{ all{ //exclude关键字可以避免目标库的重复编译 exclude group:"com.android.support", module:"support-v4" } } }
二、“Dependent features configured but no package ID was set.”
问题现象: 如下图,":net"模块报了如下错误:
问题分析: 当build project时出现这类问题,需要读者确认报该问题的module(及其他modue)对应的build.gradle文件是否重复了以下配置:
plugins{ id "com.android.application" }
该配置表明该module为application,而非library。library类型模块需配置为:
plugins{ id "com.android.library" }
三、“Library projects cannot set applicationId. applicationId is set to ‘com.test.appid’ in default config. Affected Modules: net”
问题背景: 承接问题 ”Dependent features configured but no package ID was set.",笔者在修改module id为library类型后,build项目报了标题的错误,如图:
问题分析及解决: 如报错日志所说,library类型module不能设置appId,读者只需要将非application的appid gradle配置删掉即可。
四、“更多问题探索中”
结语
读者若对以上问题有其他见解或解决指导,还请不吝赐教,共同学习!
转载请注明出处,谢谢!