Android xml中自定义View无法自动补全的一种解决方法

最近发现项目中出现一个问题:module(A)里的自定义View在其他module(B)里写xml的时候,无法自动补全,但是在A里则可以补全。

无法补全xml

经过多方尝试,发现在另一个module(C)里,也是可以自动补全的。


可以自动补全xml

因为A、B、C三个module都是很简单的module,没有什么特别的地方。仔细对比发现:A和C的compileSdkVersion都是24,而B中是区分productFlavors的,local的compileSdkVersion是24,而intl的compileSdkVersion是26(国际化版本,Google Play要求targetSdkVersion改到26,所以compileSdkVersion也跟着改了)。

那是不是这个原因呢?试着把B的compileSdkVersion统一改成24以后,果然就可以自动补全了。或者把A、B、C的compileSdkVersion统一改成26,也能解决问题。

总结一下:

统一所有module中的compileSdkVersion还是比较重要的。这里提供一种可行方式供参考。

在根目录的build.gradle中添加:

ext {
            compileSdkVersion: 26,
            buildToolsVersion: "24.0.3",
            supportLibVersion: "24.2.1",
            minSdkVersion    : 15,
            targetSdkVersion : 22
}

在各个module的build.gradle中添加:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        ……
    }
……
}

dependencies {
    compile "com.android.support:support-v4:${supportLibVersion}"
}

这样就统一好所有版本了。要改动version的时候,只要改动一处就好了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 9,072评论 0 13
  • 如果需要原文档(因文体限制,部分表格无法呈现)请联系QQ1769090563 本文由中医仲景协会整理收集 《内经选...
    陶墨阅读 34,871评论 0 33
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,225评论 1 19
  • 昨晚是一个惊心动魄的夜晚。 微风舒适而迷人,商场里头人流络绎不绝,霓虹灯闪烁着令人着迷的冷光。 心情还不错的我带着...
    锁锁快跑阅读 302评论 0 0
  • “以后准备回去吗?” “还没想好,你呢?” Kevin顿了顿,“不准备回去了,这里的生活实在很惬意。” “那父母怎...
    killmark阅读 224评论 0 2