您的位置:首页 > 移动开发 > Android开发

Android打包Error:Error: Expected a color resource id (R.color.) but received an RGB integer [ResourceT

2018-02-07 16:47 661 查看
由于把android studio升级后出现打包的问题,在思考低版本的为什么没有这样的问题而新的版本出现了这样的问题。该如何解决;

Error:Error: Expected a color resource id (R.color.) but received an RGB integer [ResourceType]

在网上解决的办法基本上都是:

在buidle配置中加入

android {

lintOptions {

disable “ResourceType”

}

}

或者加入

android{

lintOptions {

checkReleaseBuilds false

}

}

这样的意思引用的配置是禁用资源类型检测,这样在打包过程中就不会因为资源类型不匹配而提示错误了。

最根本的问题还是没有解决

但是我追查到最终的问题是引用到ResourceType资源时的出现问题,

错误的代码:

public void setBorderColor(@ColorRes int borderColor) {

if (borderColor == mBorderColor) {

return;

}

mBorderColor = borderColor;

mBorderPaint.setColor(getResources().getColor(mBorderColor));

invalidate();

}

这说明了一个编码的规范性的问题。

@SuppressLint(“ResourceType”)

public void setBorderColor(@ColorRes int borderColor) {

if (borderColor == mBorderColor) {

return;

}

mBorderColor = borderColor;

mBorderPaint.setColor(getResources().getColor(mBorderColor));

invalidate();

}

加入@SuppressLint(“ResourceType”)的引用就没有问题了。

我的理解还是是那个编码的规范的问题,依赖引用的个个问题。

不一定是你想要的答案,需要能帮助有需要的人。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android
相关文章推荐