主应用程序中引用了外部的Module模块,出现了如下错误,不保证如下解决方法通用所有问题:

1: Error:(2) Error retrieving parent for item: No resource found that matches the given name ‘android:TextAppearance.Material.Widget.Button.Inverse’.

       项目中引用了一个Module,Module中置顶的compileSdkVersion与主版本不一致,导致匹配失败

2:Module中与主版本都定义了同名attr,完整问题分析

       如果出现了同名的attr,会提示错误Attribute “xxx” has already been defined,表示相同的属性被重复定义,全部搜索查找同名attr,之后将同名attr改成不一样的名字

3: armeabi 与 armabi-7 都放置了so

系统加载的时候会默认先找-7对应包里的so

4: Module中与主版本都引用了appcompat

       Module中与主版本必须要引用相同版本的appcompat,否则会Error:(2) Attribute “textAllCaps” has already been defined

5: 主版本与Module同名资源

       主版本与Module中均定义了同名资源,比如同名drawable,string,编译打包后主版本默认覆盖Module中的值。因此Module中同名文件加前缀。

6: 主板本与Module引用相同的jar

可以采用只保留一份或者Module中dependencies对引用jar采用provided方式编译

7: universal-image-loader-1.9.1升级到universal-image-loader-1.9.3

ImageLoaderConfiguration.Builder 初始化很多方法已经废弃掉,建议采用如下官方写法:查看链接
ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context);
config.threadPriority(Thread.NORM_PRIORITY - 2);
config.denyCacheImageMultipleSizesInMemory();
config.diskCacheFileNameGenerator(new Md5FileNameGenerator());
config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
config.tasksProcessingOrder(QueueProcessingType.LIFO);
config.writeDebugLogs(); // Remove for release app

// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config.build());

8: Module中含有资源

       Module中的gradle脚本中一定要添加如下,否则编译后,所有资源合并到主版本,R路径报名变为主版本报名,导致classNotFround
main {
manifest.srcFile ‘AndroidManifest.xml’
java.srcDirs = [‘src’]
resources.srcDirs = [‘src’]
aidl.srcDirs = [‘src’]
renderscript.srcDirs = [‘src’]
res.srcDirs = [‘res’]
assets.srcDirs = [‘assets’]
jniLibs.srcDirs = [‘libs’]
}

9:将Module打包成aar

       主版本中引用aar,同名资源会提示重复定义,这个与直接引用Module方式不一样。直接引用同名资源会覆盖。

更多相关文章

  1. Android自定义Dialog(自定义主题、自定义布局)
  2. Android中自定义对话框小结
  3. Android Material Design 进度条 自定义进度条样式
  4. android之4.0控件switch自定义开关滑块、滑块轨道和宽度
  5. 自定义自己的AlertDialog
  6. 2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup
  7. Android简易实战教程--第十七话《自定义彩色环形进度条》
  8. Android怎么找到最优适配资源

随机推荐

  1. Android(安卓)PreferenceActivity简介
  2. 恢复出厂设置的两种方法,亲测可行
  3. 【Android】Android6.0+ 动态申请权限
  4. Android(安卓)Socket通信
  5. Android(安卓)通过网页打开自己的APP(sch
  6. Android本地存储和SharedPreferences
  7. Android学习系列Toolbar,AppBarLayout,Coor
  8. php的初步认识
  9. Android(安卓)Activity上下滑动切换背景
  10. Android用户定位(二)