我在市场上申请了一年。上周,我更改了我的应用程序的源代码。当我想要构建发布版本时,Android Studio抛出了一个错误:
“错误:应为颜色资源id(R.color.)但收到一个RGB整数[ResourceType]。”
颜色只在代码的这一部分使用,我没有做任何修改本部分的任何变更:
if (android.os.Build.VERSION.SDK_INT >= 16) {
rlFlash.setBackground(new ColorDrawable
(Color.parseColor(("#86cc55"))));
}
else{
rlFlash.setBackgroundDrawable(new ColorDrawable
(Color.parseColor(("#86cc55"))));
}
奇怪的是,在调试版本中,Android studio没有抛出任何错误,我可以构建apk。
你知道发生了什么吗??
谢谢
如果您在此方法中使用了anotation@ColorRes,请删除该选项。将成功生成apk。请参阅SO答案,以进一步澄清皮棉检查。答案如下:
在您自己的代码中有Java注释来支持这些检查。它们都可以在android中找到。支持注释包:IdRes DrawableRes LayoutRes StringRes ColorRes
private void mySetContentView(@LayoutRes int resourceId) {
setContentView(resourceId);
}
androidstudio将检查提供的资源id是否确实用于布局。此外,这些注释是导出的,因此它们在设计库时特别有用。
虽然为时已晚,但这个答案适用于那些像我这样在发布版本时仍然会出现错误的人。不知道这是一个解决方案还是只是权宜之计。
@SuppressLint("ResourceType")
在你的方法签名处使用这个,就像下面你得到错误的地方一样。
@SuppressLint("ResourceType")
public void aMethodWhereYouMayGetTheError(){
}
通过使用它,您将能够在没有该错误的情况下进行发布构建。
这样做:
rlFlash.setBackgroundColor(Color.parseColor("#86cc55"));
问题内容: 我有这个代码 现在,我想在主班级中创建一个新布局 但是,每当我调用TITLE_ID和REVIEW_ID时,都会给我一个错误 提供的资源标识符类型错误。 例如,当调用Resources.getString(int id)时,您应该传递R.string.something,而不是R.drawable.something。 将错误的常量传递给需要一组特定常量之一的方法。例如,在调用View#
问题内容: 如何解决错误: [$ resource:badcfg]资源配置错误。预期响应包含一个数组但有一个对象? //服务 //控制器 问题答案: 首先,您应该以不同的方式进行配置:URL中没有查询参数。默认查询参数可以作为中的第二个参数的属性传递。还要提到的是,您配置资源的方法并改为使用。 服务 文献资料 http://docs.angularjs.org/api/ngResource.$re
在android studio中,当我想要生成签名apk时,会导致以下错误:
该项目运行良好,但当我尝试生成签名APK时,它显示了一个错误:错误:在Main活动中,预期资源类型为可绘制[ResourceType]: 当您点击按钮时,应用程序会显示图像并播放声音。问题是为什么在声音的情况下一切都好,但这里有一个错误: 我很感激任何帮助
问题内容: 编辑: 给出答案后,我执行了此功能 我的目标是这个。我抓取图片并遍历每个像素,然后抓取其x,y和rgb。 我拥有一个预定义的数组,而不是仅仅抓住rgb,我正在寻找从我抓取的颜色到预定义数组的最接近的匹配项。这里的目标是仅使用预定义数组中的颜色。这是我的颜色数组。 这是我现有的遍历所有内容的代码。 rgb2hex是用户定义的函数,但是我要完成的功能是使用该函数更改该函数以获取最接近的颜色
在android studio中,当我想要生成签名apk时,会导致以下错误: