Error: Expected resource of type xxx [ResourceType]

運(yùn)行環(huán)境:Android Studio 1.4

  gradle版本:2.10

  工程編譯沒(méi)有問(wèn)題,并且能在模擬器和真機(jī)上正常運(yùn)行,但是當(dāng)打包成Apk的時(shí)候,出現(xiàn)了

Error:Error:?Expected?resource?of?type?color?[ResourceType]

?這個(gè)錯(cuò)誤,導(dǎo)致打包不成功。

    以下是出錯(cuò)地方的代碼:

private static RadioButton createGroupTabItem(Context context,
????????????MemberType data) {
????????RadioButton rb = new RadioButton(context);
????????...
rb.setTextColor(context.getResources().getColorStateList(R.drawable.tab_text_checker_white_to_theme));
????????...
????????return rb;
????}

  其實(shí)也就是創(chuàng)建一個(gè)RadioButton,然后設(shè)置字體顏色的時(shí)候,出現(xiàn)了上述錯(cuò)誤,最后在StackOverflow上找到了一個(gè)解決辦法:

  在build.gradle文件中增加一下信息,然后打包成功了:

android {
?lintOptions {
????disable "ResourceType"
??}
}

  問(wèn)題雖然解決了,但是我并不知道原因,而且這么修改是否會(huì)導(dǎo)致一些其他位置的問(wèn)題,這個(gè)就無(wú)法確認(rèn),因此我嘗試去了解。

  還是StackOverflow,傳送門(mén):http://stackoverflow.com/questions/34293718/expected-resource-of-type-animator-resourcetype

  這哥們兒遇到的問(wèn)題其實(shí)個(gè)我這個(gè)很類似,通過(guò)那個(gè),我知道原因了,我把資源類型弄錯(cuò)了,總的來(lái)說(shuō)這是我的不規(guī)范編程導(dǎo)致的,怎么說(shuō)呢,我上面是設(shè)置textcolor,那說(shuō)明我應(yīng)該使用一個(gè)color資源,單色值的應(yīng)該來(lái)源于colors.xml中定義的,但是我上面是使用的一個(gè)colorstate,是一個(gè)自定義的selector,一個(gè)xml文件,這個(gè)時(shí)候我們應(yīng)該把這個(gè)文件放在res/color目錄中,而不是res/drawable目錄中,然后使用R.color.xxx去引用,這樣就沒(méi)問(wèn)題了。詳見(jiàn)官方說(shuō)明:https://developer.android.com/guide/topics/resources/available-resources.html?

  到此我們終于找到事情的原委了,然后我們說(shuō)下為什么在build.gradle文件中添加上述配置之后就能打包成功呢,其實(shí)上述配置是禁用資源類型檢測(cè),這樣在打包過(guò)程中就不會(huì)因?yàn)橘Y源類型不匹配而提示錯(cuò)誤了。

  看來(lái)還是自己基礎(chǔ)不過(guò)關(guān)啊。這里提醒一點(diǎn),在Eclipse中,像上述操作,并不會(huì)出現(xiàn)這樣的問(wèn)題,所以說(shuō)啊,android studio開(kāi)發(fā)跟eclipse開(kāi)發(fā)在工程管理上,有很多不一樣的地方,我的另外一篇文章也有關(guān)于jar方面的不同。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容