在升級(jí)react-native-image-crop-picker v0.35.0時(shí)塞弊,出現(xiàn)錯(cuò)誤:
node_modules\react-native-image-crop-picker\android\build\intermediates\library_manifest\debug\AndroidManifest.xml:10:5-14:15: AAPT: error: unexpected element found in
查詢后發(fā)現(xiàn)需要升級(jí)gradle版本以能夠識(shí)別新的<queries>查詢?cè)亍?/p>
buildscript {
...
dependencies {
classpath("com.android.tools.build:gradle:3.5.4")//升級(jí)到補(bǔ)丁版本
}
}
Android Gradle插件需要了解新的清單元素,尤其是清單合并過(guò)程泪姨。如果插件在清單合并中看到它無(wú)法識(shí)別的元素,就會(huì)產(chǎn)生混淆的感覺(jué)饰抒,從而拋出類(lèi)似問(wèn)題中的構(gòu)建錯(cuò)誤肮砾。
在這種情況下,Android 11 <queries>作為清單元素引入袋坑,而舊版本的Android Gradle插件不知道該元素仗处。
這是由于清單合并而發(fā)生的事實(shí),意味著僅升級(jí)依賴項(xiàng)可能會(huì)導(dǎo)致此錯(cuò)誤。例如婆誓,如果您升級(jí)到的最新版本com.awesome:awesome-library吃环,并且它<queries>的清單中包含一個(gè)元素,則即使在代碼中沒(méi)有任何其他更改洋幻,您也可能因構(gòu)建中的上述錯(cuò)誤而崩潰郁轻。
Google發(fā)布了一系列的Android Gradle插件補(bǔ)丁版本來(lái)解決此問(wèn)題:
3.3.3
3.4.3
3.5.4
3.6.4
4.0.1
如果您正在使用3.3.直通4.0.系列中的現(xiàn)有插件,請(qǐng)從該列表升級(jí)到關(guān)聯(lián)的補(bǔ)丁程序版本(或更高版本)文留,并且不再遇到該錯(cuò)誤(例如classpath 'com.android.tools.build:gradle:4.0.1')好唯。
如果您使用的是Android Studio 4.1(當(dāng)前為Beta)或更高版本,并且具有匹配的Android Gradle插件(例如燥翅,該4.1.*系列中的產(chǎn)品)骑篙,則無(wú)需做任何更改即可。這些插件版本已經(jīng)知道了<queries>森书。